我的时间在开始时间和结束时间之间

时间:2012-10-09 06:20:41

标签: java android date time

如果当前时间为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;

1 个答案:

答案 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;。