Swift - 将JSON日期转换为Swift兼容日期

use*_*192 2 javascript json date nsdate swift

我试图使用Date()函数转换javascript代码生成当前日期的日期.但是当我把它打印出来时,我就是零.

我的代码:

        let date2 = data?[0] as! String
        println(date2)

        var str = "2013-07-21T19:32:00Z"

        var dateFor: NSDateFormatter = NSDateFormatter()
        dateFor.dateFormat = "yyyy-MM-dd'T'HH:mm:ssZ"

        var Date: NSDate? = dateFor.dateFromString(date2)

        println(Date) 
Run Code Online (Sandbox Code Playgroud)

date2 =>正在打印2015-05-15T21:58:00.066Z Date =>是打印nil str仅用于测试并且工作正常.

有人看到代码中有任何缺陷吗?

Leo*_*bus 17

str和date2两个日期格式不同.str格式为"yyyy-MM-dd'T'HH:mm:ssZ",而date2格式为"yyyy-MM-dd'T'HH:mm:ss.SSSZ".

let date2 = "2015-05-15T21:58:00.066Z"

let dateFormatter = DateFormatter()
dateFormatter.locale = .init(identifier: "en_US_POSIX")
dateFormatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ss.SSSZ"
if let date = dateFormatter.date(from: date2) {
    print(date)  // "2015-05-15 21:58:00 +0000"
}
Run Code Online (Sandbox Code Playgroud)