Мне нужен Java-код, который скажет мне, когда школа будет открыта в зависимости от текущего времени.Проверка интервала времени в java
Когда я вызываю этот метод между 9AM и 6PM, он должен вернуться «школа открыта», иначе она должна вернуться «школа закрыта» после 18:00 и до 9 часов утра.
public Calendar shopStartTime(String msg)
{
Calendar currentTime = Calendar.getInstance();
Calendar schoolTime = Calendar.getInstance();
Calendar schoolClosedTime = Calendar.getInstance();
schoolTime.set(Calendar.HOUR_OF_DAY, 9);
schoolTime.set(Calendar.MINUTE, 0);
schoolTime.set(Calendar.SECOND, 0);
schoolTime.set(Calendar.MILLISECOND, 0);
schoolClosedTime.set(Calendar.HOUR_OF_DAY, 18);
schoolClosedTime.set(Calendar.MINUTE, 0);
schoolClosedTime.set(Calendar.SECOND, 0);
schoolClosedTime.set(Calendar.MILLISECOND, 0);
if (schoolTime.compareTo(currentTime) <= 0 &&
(currentTime.compareTo(schoolClosedTime)>=0))
{
// check for time
Toast.makeText(getSherlockActivity(), "school is closed ",
Toast.LENGTH_SHORT).show();
}
else
{
Toast.makeText(getSherlockActivity(), " school is open",
Toast.LENGTH_SHORT).show();
}
return currentTime;
}
Но код не работает, потому что он всегда возвращает тот же результат. Как я могу проверить, если одно время между двумя другими днями?
Не следует ли читать: "... && currentTime.compareTo (schoolClosedTime) <= 0)"? (Меньше, чем, не больше) – Whistletoe
Я пробовал в обоих направлениях, тот же результат. –