Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/376.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 我的时间介于开始时间和结束时间之间_Java_Android_Date_Time - Fatal编程技术网

Java 我的时间介于开始时间和结束时间之间

Java 我的时间介于开始时间和结束时间之间,java,android,date,time,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)

如果当前时间为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;
int hour=currentTime.get(日历小时/天);
如果(小时>22){
如果(小时>06){
返回true;
}
}
如果(小时<22){
如果(小时<06){
返回true;
}
}
如果(小时==00){
返回true;
}
返回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;
if(endHour开始小时<结束小时){
返回小时数在范围内;
}
}
否则{//结束时间与开始时间在同一天
如果(小时>开始小时和小时<结束小时){
返回小时数在范围内;
}
}
返回时间不在范围内;

你也应该考虑“>=”,并且我有一个叫做“夜模式”的函数,我将设置开始和结束时间。因此,在这段时间内,所有连接都将中断,因此需要布尔值来检查当前时间是否在开始和结束之间。感谢Rajesh的回复。