如何将"2017-01-09T11:00:00.000Z"转换为Swift 3中的日期?

Lyn*_*Kay 13 nsdate nsdateformatter swift alamofire swift3

我的问题是日期是零.

我的代码看起来像

print(article_date) // output "2017-01-09T11:00:00.000Z" as string
let dateFormatter = DateFormatter()
dateFormatter.locale = Locale(identifier: "en_US_POSIX")
dateFormatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ss.SSS"
let date : Date? = dateFormatter.date(from: article_date!)
print("date: \(date)")
Run Code Online (Sandbox Code Playgroud)

我尝试了一些格式化程序,如"yyyy-MM-dd'T'HH:mm:ssZ",但没有任何效果.

Nir*_*v D 37

你需要设置两个.SSSZ你的dateFormat,所以你dateFormat应该yyyy-MM-dd'T'HH:mm:ss.SSSZ.

let dateFormatter = DateFormatter()
dateFormatter.locale = Locale(identifier: "en_US_POSIX")
dateFormatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ss.SSSZ"
let date = dateFormatter.date(from: "2017-01-09T11:00:00.000Z")
print("date: \(date)")
Run Code Online (Sandbox Code Playgroud)