现在有两个LocalTime区间 一个是10:00:00和23:00:00 一个是23:00:00和10:00:00 传入一个时间区间01:00:00和02:00:00判断是否在区间
时间: 2023-08-01 15:13:17 浏览: 175
RangeSeekBar:android rangeSeekbar 与时间。 选择两个范围值之间的时间
根据题目描述,第一个时间区间是从 10:00:00 到 23:00:00,第二个时间区间是从 23:00:00 到 10:00:00,也就是说第二个时间区间跨越了一天的两个不同日期。因此我们需要先判断传入的时间区间是属于哪一个时间区间。
如果传入的时间区间是从 10:00:00 到 23:00:00,那么只需要判断所传入的时间是否在这个区间内即可。代码如下:
```
LocalTime startTime = LocalTime.of(10, 0, 0);
LocalTime endTime = LocalTime.of(23, 0, 0);
LocalTime targetTime = LocalTime.of(1, 0, 0);
if (targetTime.isAfter(startTime) && targetTime.isBefore(endTime)) {
System.out.println("传入的时间在第一个区间内。");
} else {
System.out.println("传入的时间不在第一个区间内。");
}
```
如果传入的时间区间是从 23:00:00 到 10:00:00,那么需要先判断所传入的时间是在当天的 23:00:00 到 24:00:00 这个时间段内,还是在第二天的 00:00:00 到 10:00:00 这个时间段内。代码如下:
```
LocalTime startTime = LocalTime.of(23, 0, 0);
LocalTime endTime = LocalTime.of(10, 0, 0);
LocalTime targetTime = LocalTime.of(1, 0, 0);
if (targetTime.isAfter(startTime) || targetTime.isBefore(endTime)) {
System.out.println("传入的时间在第二个区间内。");
} else {
System.out.println("传入的时间不在第二个区间内。");
}
```
注意,在第二个时间区间中,如果所传入的时间在 23:00:00 到 24:00:00 这个时间段内,应该被视为在第二个时间区间内。所以这里使用的是 `||` 来判断。
阅读全文