SimpleDateFormat を使用したロケール依存の日付書式設定
Java の日付の書式設定は、地域の好みに合わせてさまざまなロケールに合わせて調整できます。 SimpleDateFormat クラスは基本的な書式設定オプションを提供しますが、これらのオプションを特定のロケールに合わせてカスタマイズすると、課題が生じます。
課題:
ベースのさまざまな方法で日付を書式設定する Java プログラムを作成します。現地で。たとえば、英語のユーザーには「Nov 1, 2009」(「MMM d, yyyy」) が表示され、ノルウェー語のユーザーには「1. nov. 2009」(「d. MMM. yyyy」) が表示されます。
提案された解決策:
当初の目的は、ロケールとペアになった書式文字列を SimpleDateFormat に追加することでした。ただし、これは実現可能ではありません。
代替解決策:
SimpleDateFormat を使用して独自のパターンを構築する代わりに、DateFormat.getDateInstance(int style, Locale locale) を使用します。このメソッドは、特定のスタイルとロケール用に事前設定された DateFormatter オブジェクトを作成します。
たとえば、次のコードは、英語用とノルウェー語用の 2 つの DateFormatter オブジェクトを作成します。
Locale englishLocale = Locale.ENGLISH; DateFormat englishDateFormatter = DateFormat.getDateInstance(DateFormat.SHORT, englishLocale); Locale norwegianLocale = new Locale("no", "NO"); DateFormat norwegianDateFormatter = DateFormat.getDateInstance(DateFormat.SHORT, norwegianLocale);
これらを使用するDateFormatter オブジェクトでは、指定されたロケールに従って日付を書式設定できます。
Date date = new Date(); String englishFormattedDate = englishDateFormatter.format(date); String norwegianFormattedDate = norwegianDateFormatter.format(date);
このアプローチにより、日付は指定されたロケールに基づいて文化的に適切な方法で書式設定されます。
以上がJava でさまざまなロケールに合わせて日付をフォーマットするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。