2017-11-05 14 views
-2

私のアプリケーションの1つでは、RESTful APIから日付が "04112017182149"になっています。C#の日付文字列をswift3の日付に変換中にエラーが発生しました

以下のスニペットに示すように、社内ユーザーのために迅速に日付に変換しようとしました。

let receivedDate = "04112017182149" 
let dateFormatter = DateFormatter() 
dateFormatter.dateFormat = "yyyy-MM-dd" 
print((dateFormatter.date(from: receivedDate))!) 

任意の値をアンラッピングしている間、予期せずnilが見つかりました。

「dd-MMM-yyyy HH:mm:ss」と日付フォーマッタ文字列を変更しようとしましたが、使用しませんでした。

+1

です*たぶん*あなたが受け取る04112017182149' 'データと一致する*実際に*フォーマットを作成してみてください。 – luk2302

+0

@ luk2302それは私が問題に直面していることです、私はそれを行う正確なアイデアはありません。 –

+0

日付形式を見てください。日付文字列にハイフンがありますか?そして、文字列の始めに年(yyyy)がありますか? – vadian

答えて

1

正しい日付形式は

ddMMyyyyHHmmss 
+0

日付フォーマッタのロケールを "en_US_POSIX"に設定すると、その文字列を解析する必要があります。それ以外の場合は、ユーザーが時刻形式12-24hを変更した場合、またはデバイスロケールlettingsのために変更された場合にアプリケーションがクラッシュします。 –

関連する問題