Javaで西暦から和暦へ変換するサンプルプログラムです。
SimpleDateFormatのパターンへ”GGGGyy年MM月dd日”を指定すれば簡単に和暦へ変換出来ます。
以下の例はDate型、Calendar型別にメソッド分けてます。
Javaソース
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
/** * <p>[概 要] 西暦日(Date) ⇒ 和暦(GGGGyy年MM月dd日)変換</p> * <p>[詳 細] </p> * <p>[備 考] </p> * @param date 日付(Date型) * @return 和暦(GGGGyy年MM月dd日) */ public static String parseDateToWareki(Date date){ String result = null; Locale locale = new Locale("ja", "JP", "JP"); DateFormat warekiFormat = new SimpleDateFormat("GGGGyy年MM月dd日", locale); if(Objects.nonNull(date)) { result = warekiFormat.format(date); } return result; } /** * <p>[概 要] 西暦日(Calendar) ⇒ 和暦(GGGGy年MM月dd日)変換</p> * <p>[詳 細] </p> * <p>[備 考] </p> * @param date 日付(Date型) * @return 和暦(GGGGy年MM月dd日) */ public static String parseCalendarToWareki(Calendar cal){ String result = null; Locale locale = new Locale("ja", "JP", "JP"); DateFormat warekiFormat = new SimpleDateFormat("GGGGyy年MM月dd日", locale); if(Objects.nonNull(cal)) { result = warekiFormat.format(cal.getTime()); } return result; } |
JUnitサンプル
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
@Test public void parseDateToWarekiTest() { // 準備 // 実行 String result1 = DateSamples.parseDateToWareki(new Date()); // 検証 assertEquals("String同士の比較が一致していません。", "令和04年06月06日", result1); } @Test public void parseCalendarWarekiTest() { // 準備 // 実行 String result1 = DateSamples.parseCalendarToWareki(Calendar.getInstance()); // 検証 assertEquals("String同士の比較が一致していません。", "令和04年06月06日", result1); } |