LoginSignup
2
3

More than 5 years have passed since last update.

SimpleDateFormatの月表記、曜日表記をカスタマイズする。

Posted at

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
2
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
3