在swift 2中将特定字符串转换为NSDate对象

时间:2016-07-05 06:38:52

标签: swift nsdateformatter

我有一个代表日期的字符串

"2016-06-28T22:26:31.200577Z"

我使用的dateformatter使用格式

"yyyy-MM-dd'T'HH:mm:ssZ"

当我尝试将日期字符串转换为NSDate对象时,额外".200577"导致我的dateformatter返回nil。

我尝试将dateformatter字符串更改为

"yyyy-MM-dd'T'HH:mm:ss.ssssssZ"

但这不正确。我不确定".200577"是否实际上表示一小部分秒或者其他类似于时区的东西..目前我可以通过将结束部分从字符串中分离出来来解决此错误但我不想要失去这些信息。

我正在寻找关于我的正确日期格式字符串应该是什么的帮助。

2 个答案:

答案 0 :(得分:3)

您可以关注https://github.com/silexphp/Pimple#defining-factory-services

yyyy-MM-dd'T'HH:mm:ss.SSSSSSZ"

参考:SO Unicode Markup Language

答案 1 :(得分:1)

使用以下代码获取格式化的NSDate对象

let dateformatter = NSDateFormatter()
 dateformatter.dateStyle = NSDateFormatterStyle.MediumStyle
 dateformatter.timeStyle = NSDateFormatterStyle.NoStyle
 dateformatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ss.SSSSSSZ"
 print(dateformatter.dateFromString("2016-06-28T22:26:31.200577Z"))

//可选(2016-06-28 22:26:31 +0000)