国際化のデフォルト値を上書きする方法はありますか?
たとえば、日付をEEEE形式で取得すると、日曜日になりますが、 Sunnydayのようなものが必要です。
"EEEE, dd MMM, yyyy"
2011年3月27日日曜日
"EEEE, dd MMM, yyyy"
2011年3月27日、晴れた日をください
国際化のデフォルト値を上書きする方法はありますか?
たとえば、日付をEEEE形式で取得すると、日曜日になりますが、 Sunnydayのようなものが必要です。
"EEEE, dd MMM, yyyy"
2011年3月27日日曜日
"EEEE, dd MMM, yyyy"
2011年3月27日、晴れた日をください
DateFormatSymbols
DateFormatで使用される文字列は、メソッドを持つクラスのオブジェクトによって定義されsetXXX
ます。だからあなたはこれを試すことができます:
DateFormatSymbols englishSymbols = DateFormatSymbols.getInstance(Locale.ENGLISH);
DateFormatSymbols mySymbols = (DateFormatSymbols)englishSymbols.clone();
String[] weekdays = mySymbols.getWeekdays();
weekdays[Calendar.SUNDAY] = "Sunnyday";
mySymbols.setWeekdays(weekdays);
DateFormat f = new SimpleDateFormat("EEEE, dd MMM, yyyy", mySymbols);
System.out.println(f.format(new Date()));
それは私に示しています: Sunnyday, 27 Mar, 2011
。
ロケールを設定する必要があります。これはフランスの例です。
Locale frLocale = new Locale("fr", "FR");
SimpleDateFormat formatter = new SimpleDateFormat("EEE d MMM yy", frLocale);
Date today = new Date();
String output = formatter.format(today);
System.out.println(output);
出力:dimanche 27 mars 11
または、独自の名前が必要な場合:
String[] monthNames = {"cold January", "warm February" ...};
Calendar cal = Calendar.getInstance();
String month = monthName[cal.get(Calendar.MONTH)];
System.out.println("Month name: " + month);