-1

我正在尝试使用此代码将 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了最后一行。我究竟做错了什么?

4

1 回答 1

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

于 2017-04-03T14:32:49.430 回答