现在有两个区间 一个是10:00:00和23:00:00 一个是23:00:00和10:00:00 判断时间段在不在区间 java代码实现
时间: 2023-08-20 14:06:04 浏览: 60
对于这种跨越一天的时间段,可以将其表示为一个24小时的时间段,例如将23:00:00到10:00:00表示为23:00:00到24:00:00和00:00:00到10:00:00两个区间。然后,我们可以使用LocalTime类来判断给定的时间段是否在这个24小时的时间段内。以下是Java代码实现:
```
public static boolean isTimeRangeWithinRange(LocalTime startTime1, LocalTime endTime1, LocalTime startTime2, LocalTime endTime2) {
boolean range1WithinRange2 = isTimeWithinRange(startTime2, endTime2, startTime1) && isTimeWithinRange(startTime2, endTime2, endTime1);
boolean range2WithinRange1 = isTimeWithinRange(startTime1, endTime1, startTime2) && isTimeWithinRange(startTime1, endTime1, endTime2);
return range1WithinRange2 || range2WithinRange1;
}
// 示例用法
LocalTime startTime1 = LocalTime.parse("10:00:00");
LocalTime endTime1 = LocalTime.parse("23:00:00");
LocalTime startTime2 = LocalTime.parse("23:00:00");
LocalTime endTime2 = LocalTime.parse("10:00:00");
if (isTimeRangeWithinRange(startTime1, endTime1, startTime2, endTime2)) {
System.out.println("时间段在区间内");
} else {
System.out.println("时间段不在区间内");
}
```
该代码定义了一个isTimeRangeWithinRange()方法,接受四个LocalTime参数,分别是两个时间段的开始时间和结束时间。如果时间段跨越一天,将返回时间段是否在这个24小时的时间段内。如果时间段不跨越一天,将直接比较时间段是否在这个时间段内。最后,我们可以调用isTimeRangeWithinRange()方法来判断时间段是否在给定的时间段内。
阅读全文