Я пытаюсь взять часы, которые я проанализировал с помощью SimpleDateFormat, и определить, находится ли текущее время между двумя наборами часов. В принципе, учитывая часы места, я пытаюсь определить, открыт ли он в наши дни.Определение времени между двумя другими моментами
Я получаю текущее время, выполнив следующие действия:
SimpleDateFormat sdf2 = new SimpleDateFormat("kk:mm");
Calendar now = Calendar.getInstance();
int hour = now.get(Calendar.HOUR);
int minute = now.get(Calendar.MINUTE);
String currentHour = Integer.toString(hour);
String currentMinute = Integer.toString(minute);
String timeNow = currentHour + ":" + currentMinute;
Date timeRightNow = sdf2.parse(timeNow);
Затем определить, является ли timeRightNow
между открывающим и закрывающим раз, я делаю следующее:
if (timeOpen.before(timeRightNow) && timeClose.after(timeRightNow)) {
openStatus = "open!";
} else {
openStatus = "closed.";
}
Оба timeOpen
и timeClose
найдены путем разбора строки, используя sdf2
точно так же, как timeRightNow
.
Каждый раз, когда это выполняется, он устанавливает openStatus
в "closed." даже когда текущее время находится между временем открытия и закрытия. Может ли кто-нибудь указать мне в правильном направлении, чтобы понять, почему это происходит?
Возможно, у вас проблемы с AM/PM? Прослеживание с помощью отладчика должно выявить источник проблемы. –
Или просто выводя, что это такое и смотрят на них. –
как вы вычисляете timeOpen и timeClose? – Peshal