のXcode 9.0.1・スウィフト4・iPhone 5S一貫性のない日付形式
私は私のアプリで取得しています問題を再現するために、私は、単一のビューアプリケーションを作成し、ViewController.viewDidLoad()
に次の3行のコードを追加しました:
let formatter = DateFormatter()
formatter.dateFormat = "HH:mm"
print(formatter.string(from: Date()))
アプリはその後、私のiPhone上で実行されて、私は次のような結果を得る:携帯電話は、24時間の時間(設定>日付&時間> 24時間の時間)をコードプリントに設定されている場合
をコンソールの "07:45"。
設定で24時間がオフになっている場合は、コンソールに「7:45 am」と表示されます。
質問:電話機の設定ではなく、フォーマッタの出力を一貫させるにはどうすればよいですか?
これは動作するようです。たとえ "en_US"ロケールが12時間フォーマットを優先しても、それを置くことは、フォーマッタを期待どおりに動作させるように見えます。 (その結果、コメントは間違っているように見えます)。ロケールによっては、フォーマッタを動作させる可能性があると仮定します。いくつかの実験が必要でした。ありがとう。 –
ロケールを有効、無効、空の文字列に設定すると、問題が解決するようです。 –
@ VinceO'Sullivan '' en_US_POSIX "'(英語(米国、コンピュータ))を使用するべきです。 –