如果当前时间是 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;
最佳答案
您的逻辑远未本地化到特定情况,但您需要:
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;
您还应该考虑 >=/<= 而不仅仅是 > 和 <。
关于java - 我的时间介于开始时间和结束时间之间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12793942/