为什么我的日期解析器在 Swift 中不起作用?

Why my date parser doesn't work in Swift?

我有一个包含日期字段的 json:

"created_at":"2016-03-06T16:39:29.786Z"

在我的应用程序中,我是这样做的:

let dateFormatter = NSDateFormatter()
dateFormatter.dateFormat = "yyyy-MM-ddThh:mm:ss.SSSZ"
let created_at = json["created_at"].string
let crd = dateFormatter.dateFromString(created_at!)
print(crd) //prints nil

为什么我会 nil 到那里?

您需要引用文字,并且您使用了错误的小时格式说明符。

必须引用T

hh 用于 12 小时格式,但您有 24 小时格式,即 HH.

所以你想要:

dateFormatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ss.SSSZ"