如果当前时间为18,则此逻辑不起作用。 这里的开始时间是22(晚上10点)和结束时间06(早上6点) 提前谢谢。
int hour = currentTime.get(Calendar.HOUR_OF_DAY);
if (hour > 22) {
if (hour > 06) {
return true;
}
}
if (hour < 22) {
if (hour < 06) {
return true;
}
}
if (hour == 00) {
return true;
}
return false;
答案 0 :(得分:1)
您的逻辑远非局限于特定情况,但您需要:
if (endHour < startHour) { // the end is on the next day
if (hour > startHour || hour < endHour) {
return HOUR_IS_IN_RANGE;
}
}
else { // end hour is on the same day as start shour
if (hour >startHour && hour < endHour) {
return HOUR_IS_IN_RANGE;
}
}
return HOUR_NOT_IN_RANGE;
您还应该考虑&gt; = /&lt; =而不仅仅是&gt;和&lt;。