日付・時刻表記の国際化対応

Androidの開発で、国際化に対応させようとすると、メッセージを多国語に翻訳したりとかなり大変な作業ですが、日付や時刻の表記も、国や地域により異なります。例えば、2011年12月31日を表す場合、

  • 2011/12/31
  • 12/31/2011
  • 31/12/2011

の3種類が存在し、どの国(地域)がどのフォーマットなのかを調べるのは非常に大変です。

そこで、現在の端末の言語設定(日付形式)から、日付フォーマットを取得する方法を紹介します。

現在の端末の日付形式は、以下のコードで取得することができます。

DateFormat dateFormat = android.text.format.DateFormat.getDateFormat(Context);

DateFormat型が返却されるので、返却されたオブジェクトに対し、format();メソッド(引数はDateオブジェクト)を呼び出すと、現在の端末設定の日付フォーマットで表記された日付が、文字列として返却されます。

String strFormat = dateFormat.format(Date);

なお、時刻情報も同様に

android.text.format.DateFormat.getTimeFormat(Context);

で取得可能です。

カテゴリー: Android パーマリンク

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です