最近 Java 8 にアップグレードしたところ、日付のフォーマットに関する「問題」に遭遇しました。JDK 8 では、プロバイダーを特定の g11n/i18n 関数に使用できます。クラスパスに ICU がある場合は、それを取得する必要があります。これは、予想外の曲線ほど問題ではなく、私の機能のほとんどは以前と同じように機能しています。
今日の日付を表示したいのですが、ロケールの日付形式、小数点記号などを使用します。これはうまくいきますが、ヒンドゥーアラビア語を使用するar_OMなど、異なる数値セットを持つ特定のロケールを使用する場合Numeral System、フォーマットされた日付を取得しますが、この数値システムの数字も使用します。
コード:
Locale arOmLocale = new Locale("ar", "OM");
DateFormat df = DateFormat.getDateInstance(DateFormat.DEFAULT, arOmLocale);
System.out.println(df.format(new Date()));
2015/04/11を印刷したいのですが、 ١١ /٠٤ / ٢٠١٥と印刷されます
桁システム/記号を変更せずに、ロケールに固有のフォーマットを提供する方法はありますか?