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

Converting specific string to NSDate object in swift 2

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

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

我使用的日期格式化程序使用格式

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

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

我已经尝试将我的日期格式化程序字符串更改为

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

但这不正确。我不确定 ".200577" 实际上是表示几分之一秒还是其他类似时区的东西。目前我可以通过将字符串的结尾部分分开来克服这个错误,但我不想丢失此信息。

我正在寻求帮助,以了解正确的日期格式字符串应该是什么。

您可以关注Unicode Markup Language

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

参考:SO Question

使用以下代码获取格式化的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)