这是我的代码:
println(myStringDate) // 2015-02-26T17:46:34.000Z
let dateFormatter = NSDateFormatter()
dateFormatter.dateFormat = "YYYY-MM-DDTHH:mm:ss.sssZ"
let myDate = dateFormatter.dateFromString(myStringDate)
println(myDate) // nil
为什么是零?我做错了什么?
最佳答案
您的问题是如何设置日期格式。因为你的字符串中有一个 T
,你需要“转义”它并说,它不应该影响日期的格式。
dateFormatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ss.SSSZ"
另外如您所见,我已将 sss
更改为代表毫秒的 SSS
并将年份 YYYY
更改为小写 yyyy
也与 DD
相同。何时在日期格式字符串中使用大写和小写字母,您必须非常小心。
检查 @HotLicks link in the comments它显示了日期格式用法的一个很好的概述。
关于ios - 在 swift 中使用 NSDateFormatter 时我得到 nil,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28750048/