Calendar型から曜日を取得するには「Calendar.get」メソッドの引数へ「Calendar.DAY_OF_WEEK」を指定し、返却される1~7の数値を判別することで判定可能となります。
Java:Calendarから曜日を取得するサンプルコード
「Calendar.get」メソッドの結果は1(日曜)~7(土曜)なのでCalendarクラスにある曜日定数を使用して判定しています。
/**
* <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:サンプルテストコード
@Test
public void getDayOfWeekTest() {
Calendar cal = Calendar.getInstance(); // 2022/6/23実行
// 実行
String result = DateSamples.getDayOfWeek(cal);
// 検証
assertEquals("曜日が一致していません。", "木曜日", result);
}
