2016-11-04 8 views
0

ユーザーのタイムゾーンの表示文字列としてDateを変換したいが、12時間形式ではなく24時間形式を使用したい。カスタムのdateFormatを使用せずにNSDateFormatter 12と24時間形式をオーバーライドすることができます

カスタムdateFormat文字列を明示的に設定することでこれを行うことができますが、ユーザーのロケール設定に準拠した文字列をシステムに生成させるという利点はありません。

NSNumberFormatterには、小数点区切りのような変換の態様を変更できる設定があります。

NSDateFormatterの設定で、完全なカスタムフォーマットに頼らなくても12時間から24時間のフォーマットに切り替えることができますか?

答えて

1

DateFormatterは、dateFormat(fromTemplate:options:locale:)メソッドを持っています。これを使用して、ユーザーのロケールに基づいて適切な24時間形式を取得します。

let fmt = DateFormatter.dateFormat(fromTemplate: "Hms", options: 0, locale: Locale.current) 

ほとんどのロケールではHH:mm:ssが返されますが、 739の使用可能なロケールのうち85個だけがHH:mm:ss以外のものを返します。

関連する問題