#Javaで和暦を使う
Java6から標準で和暦対応のCalendarクラスが提供されています。
Calendarクラスのインスタンス生成時にロケールが「ja_JP_JP」となっていれば
和暦に対応したJapaneseImperialCalendarインスタンスが生成されます。
DateFormatのパターンで元号は「G]で表します。
「G」が1~3個の場合「H」「S」のようにアルファベットで表示し、
4個の場合「平成」「昭和」のように漢字で表示します。
WarekiSample.java
//ロケールを指定してCalendarインスタンスを取得
Locale locale = new Locale("ja", "JP", "JP");
Calendar calendar = Calendar.getInstance(locale);
//calendar.getTime()で現在日時を取得して和暦にフォーマットする
DateFormat japaseseFormat = new SimpleDateFormat("GGGGy年M月d日", locale);
String dateStr = japaseseFormat.format(calendar.getTime());
System.out.println("和暦:" + dateStr);
//和暦にフォーマットした現在日時を西暦にパースする
//日付の妥当性をチェックするためsetLenient()にfalseを渡す
calendar.setLenient(false);
Date date = japaseseFormat.parse(dateStr);
System.out.println("西暦:" + date);
###実行結果
和暦:平成26年3月25日 西暦:Tue Mar 25 00:00:00 JST 2014