参见英文答案 >
NSDateFormatter dateFromString:stringDate returning nil in iOS 8.3 1个
在iOS 10上运行时,以下代码在XCode 8中崩溃(在以前的iOS版本上没有崩溃):
let dateFormatter = NSDateFormatter()
dateFormatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ss.SS'Z'"
dateFormatter.timeZone = NSTimeZone(name: "UTC")
dateFormatter.locale = NSLocale.currentLocale()
let date = dateFormatter.dateFromString("2016-09-04T08:32:46.195514289Z")!
发生崩溃是因为日期格式化程序返回nil.我尝试播放并更改dateFormat,但结果总是为零. iOS 10中有什么变化吗?
编辑:当使用Swift 3运行时,相同的代码在Storyboard中工作.似乎问题发生在Swift 2.3和iOS 10上
最佳答案 适合我.虽然我使用的是Swift 3:
let df = DateFormatter()
df.dateFormat = "yyyy-MM-dd'T'HH:mm:ss.SS'Z'"
df.timeZone = TimeZone(abbreviation: "UTC")
df.locale = NSLocale.current
let date = df.date(from: "2016-09-04T08:32:46.195514289Z")
print("date: \(date)")
打印:
date: Optional(2016-09-04 08:32:46 +0000)