【发布时间】:2020-09-21 04:04:39
【问题描述】:
有时我在将日期字符串转换为时间戳时得到 nil。
这是我的代码:
class func createTimeStampFromDateString(dateString : String) -> Double? {
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ss.SSSZ"
let convertedDate = dateFormatter.date(from: dateString)
let timeIntervalsince1970 = convertedDate?.timeIntervalSince1970
return timeIntervalsince1970
}
能否请您告诉我这段代码有什么问题。
提前致谢!
【问题讨论】:
-
如果
dateString是包含小数秒和时区的 ISO8601 日期字符串,则没有任何问题 -
dateString你得到nil的价值是什么? -
日期字符串:2020-06-02T13:38:31.814Z
-
该字符串不会为我生成
nil? -
是的。确切地。我在运行时收到此错误。但是从后端我得到了像“yyyy-MM-dd'T'HH:mm:ss.SSSZ”这样的令人讨厌的格式。但是之前的代码是这样的:让timeIntervalsince1970 = convertDate!.timeIntervalSince1970(强制解包),这就是应用程序有时崩溃的原因。