我正在尝试使用此代码将String转换为NSDate
let dateString = data as! String
let formatter = DateFormatter()
formatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ssZ"
let date = formatter.date(from: dateString)
let Calendar = NSCalendar(calendarIdentifier: NSCalendar.Identifier.gregorian)
let unitFlags: NSCalendar.Unit = [.hour, .day, .month, .year]
let components = Calendar?.components(unitFlags, from: date!)
且dateString
为"2017-04-03T18:50:34.3042751+04:30"
,但我在最后一行收到fatal error: unexpectedly found nil while unwrapping an Optional value
。我做错了什么?
答案 0 :(得分:0)
将日期格式更改为
formatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ss.SZ"
编辑:如果您想要更高精度,可以再添加两个S
,例如
formatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ss.SSSZ"
S
最多可以工作3次,之后无效。如果你需要在3位小数后解析小数秒,那么你需要看到这个帖子:https://stackoverflow.com/a/27412262/468724