問題タブ [dateformatter]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
213 参照

json - SWIFTの一貫性のないDateFormatterの結果

文字列拡張関数を使用して日付文字列を変換しています。機能は次のとおりです。

JSON参照ファイルからの結果の一部を変換するために、文字列拡張子を呼び出す一連のJSONオブジェクトであるデータセットを使用しています。

MACPRO と MacBookAir の 2 台のマシンで作業しています。どちらも同じバージョンの MacOS (10.12.5) と同じバージョンの Xcode を実行しています。

MACPRO でアプリを実行すると、問題なく JSON オブジェクト ファイルが解析され、上記の関数で期待どおりにすべての日付が正しく変換されます。ただし、MacBookAir でまったく同じデータファイルでアプリを実行すると、JSON オブジェクト ファイルは問題なく解析されているように見えますが、日付の一部 (数パーセント) が期待どおりに変換されません。if let dateObj = dateFormater.date(from: self)ステートメントに失敗し、 「日付の変換エラー」として返されます。

私は何が起こっているのかを理解するのに途方に暮れています。を削除してみdateFormater.locale = Locale.currentましたが、違いはありません。

同じ JSON オブジェクトがエラーを生成します (つまり、ファイルを実行するたびに、「日付の変換エラー」応答を生成するのは同じ JSON オブジェクトです)。JSON オブジェクト ファイルをテキスト エディターで見ると、JSON オブジェクトに問題はないように見えます (オンラインの JSON オブジェクト フォーマッターでも確認したところ、JSON オブジェクトが正しく読み取られます)。

また、SwiftyJSON を使用して JSON オブジェクトを解析していることも付け加えておきます。

感謝して受け取った助けや提案。

コードをより堅牢にする方法はありますか? アプリのデータファイル、Xcode、およびMacOSがすべて同じであることを考えると、異なるマシンが違いを生む理由を誰かが示唆できますか。