SimpleDateFormatを使って曜日とか(Monday,Tuesday)をオリジナル表記したい時メモ。
DateFormatSymbols(Javadoc7)が文字列リソースを管理しているクラスなので、このプロパティweekdaysとかを上書きすればok
javadocを参考にDateFormatSymbolsを上書きしてみる。
標準で設定されるweekdaysを出力する。
Main.java
DateFormatSymbols dfs = DateFormatSymbols.getInstance(Locale.ENGLISH);
String[] weeks = dfs.getWeekdays();
int i = 0;
for(String week:weeks){
System.out.println( i + " :" + week);
i++;
}
実行結果
0 :
1 :Sunday
2 :Monday
3 :Tuesday
4 :Wednesday
5 :Thursday
6 :Friday
7 :Saturday
0番目の要素が空なのはCalenderの定数を使用しているから?
weekdaysを上書きしてみる
Main.java
DateFormatSymbols dfs = DateFormatSymbols.getInstance(Locale.ENGLISH);
String[] newWeek = {
"","sunday","monday","tuesday","wedesday","thursday","friday","saturday"
};
dfs.setWeekdays(newWeek);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss EEEE",dfs);
String now = sdf.format(new Date());
System.out.println(now);
実行結果
2016-03-22 20:29:29 tuesday