1

以下のコードを使用して、1 時間が他の 2 つの特定の時間の間にあるかどうかを確認しています。

String openHour = "08:00 AM";
String currentHour = "10:00 PM";
String closeHour = "11:00 PM"; //Change to 02:00 AM doesn't work!!!

SimpleDateFormat format = new SimpleDateFormat("hh:mm a");
Date openHourDate = format.parse(openHour);
Date currentHourDate = format.parse(currentHour);
Date closeHourDate = format.parse(closeHour);

Calendar openCalendar = Calendar.getInstance();
openCalendar.setTime(openHourDate);

Calendar currentCalendar = Calendar.getInstance();
currentCalendar.setTime(currentHourDate);

Calendar closeCalendar = Calendar.getInstance();
closeCalendar.setTime(closeHourDate);

Date open = openCalendar.getTime();
Date current = currentCalendar.getTime();
Date close = closeCalendar.getTime();

if (current.after(open) && current.before(close)) {
    System.out.println("Correct!");
} else {
    System.out.println("Incorrect!");
}

currentHourがコードに表示されているとおりであれ"10:00 PM"ば、すべて正常に動作しますが、 を に変更すると、が と の間に"02:00 AM"ある場合でも、コードは期待どおりに機能しません。これを解決するには?currentHour08:00 AM02:00 AM

4

2 に答える 2