NSDateFormatterとは
さて、本日はNSDateFormatter
について見ていきます。
NSDateFormatter
は
NSDate
からString
へ変換する際に指定するフォーマットオブジェクトString
からNSDate
へ変換する際に指定するフォーマットオブジェクト
として使ったりします。
(他にもNSCalendar
等々で利用します。)
基本的な変換は下記のようにできます。
1 2 3 4 5 6 |
|
続いて、よく利用する各種設定について見ていきましょう。
NSTimeZoneについて
NSTimeZone
はグリニッジ標準時と各地域の標準時の時差情報を持ったクラスです。
このクラスを利用することで、欲しい時差情報を含んだ日付を取得できます。
例えば下記のような形です。
1 2 3 4 5 6 7 |
|
NSTimeZone
にはsystemTimeZone
, defaultTimeZone
, localTimeZone
, 直接地域を指定する方法があります。
systemTimeZone
:
設定 > 一般 > 日付と時刻 で設定されている地域のタイムゾーンを返却するdefaultTimeZone
:
アプリで設定された地域のタイムゾーン
アプリで設定されていない場合はsystemTimeZone
を返却するlocalTimeZone
:
defaultTimeZone
への参照値を返却する- 直接タイムゾーンを指定:
GMT
,UTC
,ja_JP
,en_US
などの地域を指定することで、指定地域のタイムゾーンを返却する
仮に、それぞれのタイムゾーンの設定をして文字列を出力してみると、
1 2 3 4 5 6 |
|
といった感じです。
NSLocaleについて
NSLocale
は言語や分化などの情報を持ったクラスです。
このクラスを利用することで、欲しい言語や分化の地域情報を含んだ日付を取得できます。
利用方法は下記のようになります。
1 2 3 4 5 6 7 |
|
systemLocale
:
設定 > 一般 > 日付と時刻 で設定されている地域の情報を返却するcurrentLocale
:
現在のユーザで設定されている地域の情報を返却する
マルチユーザ環境下であれば、違いが出ると思います。
地味に文字列変換って面倒だったりするんですよね…。
とは言え、アプリを世界対応させる場合は、
ユーザの設定している 日付と時刻 に注意を配ることが大切です。
と言ったところで本日はここまで。
参考: