Java 判断时间是否在时间区间内(包含开始结束时间)
可以使用before和after方法来判断一个Date类型的时间是否在一个时间区间内。以下是一个示例代码:
import java.util.Date;
public class TimeRangeChecker {
public static boolean isWithinTimeRange(Date time, Date startTime, Date endTime) {
if (time.equals(startTime) || time.equals(endTime)) {
return true;
}
return time.after(startTime) && time.before(endTime);
}
public static void main(String[] args) {
Date startTime = new Date(2021, 1, 1, 9, 0, 0); // 开始时间
Date endTime = new Date(2021, 1, 1, 18, 0, 0); // 结束时间
Date time1 = new Date(2021, 1, 1, 10, 0, 0); // 在区间内
Date time2 = new Date(2021, 1, 1, 8, 0, 0); // 在区间外
Date time3 = new Date(2021, 1, 1, 18, 0, 0); // 在区间内
System.out.println(isWithinTimeRange(time1, startTime, endTime)); // 输出:true
System.out.println(isWithinTimeRange(time2, startTime, endTime)); // 输出:false
System.out.println(isWithinTimeRange(time3, startTime, endTime)); // 输出:true
}
}
在上面的示例代码中,isWithinTimeRange方法接收一个time参数表示待判断的时间,一个startTime参数表示时间区间的开始时间,一个endTime参数表示时间区间的结束时间。方法首先判断time是否等于startTime或endTime,如果是则直接返回true。否则,通过after和before方法判断time是否在startTime和endTime之间。如果满足条件则返回true,否则返回false。
在main方法中,我们创建了几个测试用例来验证isWithinTimeRange方法的正确性。可以看到,对于在时间区间内的时间,方法返回true,对于在时间区间外的时间,方法返回false。
原文地址: https://www.cveoy.top/t/topic/o8YB 著作权归作者所有。请勿转载和采集!