【发布时间】:2023-03-05 00:38:01
【问题描述】:
我正在尝试使用此代码将 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 的最后一行。我做错了什么?
【问题讨论】:
-
您的日期格式与您的 dateString 不匹配
-
"2017-04-03T18:50:34.3042751+04:30"应该是"yyyy-MM-dd'T'HH:mm:ss.SSSSSSSXXXXX" -
"yyyy-MM-dd'T'HH:mm:ss.SSSXXXXX"也应该可以工作 -
不要在代码中强制解包 - 如果值可能为 nil,请正确处理。
标签: ios swift nsdate dateformatter