ホームページ  >  記事  >  Java  >  Java でさまざまなロケールに合わせて日付をフォーマットするにはどうすればよいですか?

Java でさまざまなロケールに合わせて日付をフォーマットするにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-11-12 09:33:02250ブラウズ

How Do You Format Dates in Java for Different Locales?

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。