Locale,TimeZoneのデフォルト値の取得

Locale,TimeZoneの取得と利用方法について、さらに詳しく解説します。
Locale と TimeZone のどちらも、アプリケーション内では 2通りの取得のされ方があります。

前者は、アプリケーションの実行環境とは関係なく、 直接 Locale や TimeZone を指定したい場合です。 たとえばある特定の言語でのカレンダーの月の名前を知りたい、 世界の各都市の現在の時刻を同時に表示させいたい、というようなケースです。 Localeならばコンストラクタまたは staticなLocale値を指定して オブジェクトを得ます。 TimeZoneならば staticなメソッド getTimeZone() を使ってオブジェクトを得ます。


        Locale locale = new Locale( "ja", "JP" );
または
        Locale locale = Locale.JAPAN;

        TimeZone zone = TimeZone.getTimeZone( "JST" );

後者のケースは、逆にシステム(ユーザー環境)に合わせてアプリケーションが 最適なリソースを選択したい場合です。 たとえば時計のアプリケーションが一番理解しやすい例でしょう。 同一のプログラムであっても、LocaleやTimeZoneの情報に合わせて 表示の言語、形式を最適なものに合わせ、 さらに時差の違いも処理することが可能になります。 Localeも TimeZoneも現在のデフォルトの情報を取得するための getDefault()メソッドが用意されています。 Localeや TimeZoneは次のようにして利用するケースが最も多いでしょう。

        Locale locale = Locale.getDefault();
        TimeZone zone = TimeZone.getDefault();

ソースファイル