查看類似的SO問題,發現Swift中沒有答案,只有很多答案專門用於日期格式,但不能與迭代結合使用。如何將日期字符串數組轉換爲日期對象數組,Swift
我有日期字符串像下面的數組:
let dateStrings = ["2016-12-22T08:00:00-08:00", "2016-12-22T08:15:00-08:00", "2016-12-22T08:30:00-08:00"]
我想將它們轉換爲本地dateObjects像下面
var dateObjects = [2016-12-22 21:30:00 +0530, 2016-12-22 21:45:00 +0530, 2016-12-22 22:00:00 +0530]
我試圖通過遍歷數組日期字符串數組,但我得到這個錯誤:
"fatal error: unexpectedly found nil while unwrapping an Optional value"
所以我試着用可選綁定w沒有成功。請諮詢我可能會出錯的地方。
var dateObjects = [Date]()
let dateFormatter = DateFormatter()
for date in dateStrings{
dateFormatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ssZZZZZ"
let dateObject = dateFormatter.date(from: date)
self.dateObjects.append(dateObject!) // ERROR LINE
}
當我與可選結合其經歷else語句打印嘗試「無法轉換爲日期對象」
for date in dateStrings{
dateFormatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ssZZZZZ"
if let dateObject = dateFormatter.date(from: date){
self.dateObjects.append(dateObject!) // ERROR LINE
}
else{
print("Unable to convert to date object")
}
}
嘿,我跑了你的代碼,一切工作就好了。沒有錯誤。你確定這是導致錯誤的線? –
有趣的是,你的代碼適用於我... –
你不需要使用'self.dateObjects.append(dateObject!)'只使用'dateObjects.append(dateObject!)'它會工作 –