Calendar型から曜日を取得するには「Calendar.get」メソッドの引数へ「Calendar.DAY_OF_WEEK」を指定し、返却される1~7の数値を判別することで判定可能となります。
Java:Calendarから曜日を取得するサンプルコード
「Calendar.get」メソッドの結果は1(日曜)~7(土曜)なのでCalendarクラスにある曜日定数を使用して判定しています。
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 34 35 36 37 |
/** * <p>[概 要] 曜日を返却</p> * <p>[詳 細] </p> * <p>[備 考] </p> * @param カレンダー * @return 曜日 */ public static String getDayOfWeek(Calendar cal){ String result = null; switch(cal.get(Calendar.DAY_OF_WEEK)) { case(Calendar.MONDAY): result = "月曜日"; break; case(Calendar.TUESDAY): result = "火曜日"; break; case(Calendar.WEDNESDAY): result = "水曜日"; break; case(Calendar.THURSDAY): result = "木曜日"; break; case(Calendar.FRIDAY): result = "金曜日"; break; case(Calendar.SATURDAY): result = "土曜日"; case(Calendar.SUNDAY): result = "日曜日"; break; default: throw new IllegalStateException(); } return result; } |
JUnit:サンプルテストコード
1 2 3 4 5 6 7 8 9 10 11 |
@Test public void getDayOfWeekTest() { Calendar cal = Calendar.getInstance(); // 2022/6/23実行 // 実行 String result = DateSamples.getDayOfWeek(cal); // 検証 assertEquals("曜日が一致していません。", "木曜日", result); } |