ロケール固有の書式文字列を使用した日付の書式設定
Java では、通常、日付の書式設定に SimpleDateFormat クラスが使用されます。ただし、さまざまなロケールのデータを扱う場合は、ロケール固有の書式設定要件を考慮することが不可欠になります。
たとえば、指定されたタスクには、「11 月 1 日」と表示するなど、ユーザーのロケールに基づいて日付を異なる書式設定することが含まれます。 , 2009" (英語) および "1. nov. 2009" (ノルウェー語)。
SimpleDateFormat コンストラクターではロケールを指定できますが、それは形式文字列の月の部分にのみ適用されます。この課題に対処するには、ロケールと組み合わせた複数の形式文字列を SimpleDateFormat に直接追加することはできません。
代替解決策: DateFormat.getDateInstance
SimpleDateFormat に依存する代わりに、推奨されるアプローチは、DateFormat.getDateInstance(int style, Locale locale) メソッドを使用することです。このメソッドは、ロケール固有の書式文字列を持つ Date インスタンスを取得する便利な方法を提供します。
DateFormat.getDateInstance の使用方法の例を次に示します。
// For English locale DateFormat englishFormat = DateFormat.getDateInstance(DateFormat.LONG, Locale.ENGLISH); // For Norwegian locale DateFormat norwegianFormat = DateFormat.getDateInstance(DateFormat.LONG, Locale.NORWEGIAN); // Parse a date Date date = Date.parse("2009-11-01"); // Format the date in English String englishFormattedDate = englishFormat.format(date); // Format the date in Norwegian String norwegianFormattedDate = norwegianFormat.format(date);
DateFormat を使用します。 getDateInstance を使用すると、複雑な書式文字列を手動で構築する必要がなく、ロケール固有の方法で日付を簡単に書式設定できます。
以上がJava でロケール固有の書式文字列を使用して日付を書式設定する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。