同様の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"]
私は以下
var dateObjects = [2016-12-22 21:30:00 +0530, 2016-12-22 21:45:00 +0530, 2016-12-22 22:00:00 +0530]
私はを反復処理しようとしたようなローカルDateオブジェクトの配列に変換したいと思います日付文字列の配列ですが、私はこのエラーが発生します:
"fatal error: unexpectedly found nil while unwrapping an Optional value"
私はオプションのバインディングw成功なし。私が間違っているかもしれないアドバイスをしてください。第2のケースで
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!)'のみを使用しても動作します –