plusDays已废弃
时间: 2023-07-28 09:31:34 浏览: 27
对不起,你是对的,plusDays方法已经被标记为过时了。正确的做法是使用LocalDateTime类,同时给日期和时间加上天数和小时数。具体实现可以参考以下代码:
```java
LocalTime startTime1 = LocalTime.of(8, 0); // 第一个时间区间开始时间
LocalTime endTime1 = LocalTime.of(18, 0); // 第一个时间区间结束时间
LocalTime startTime2 = LocalTime.of(18, 0); // 第二个时间区间开始时间
LocalTime endTime2 = LocalTime.of(8, 0); // 第二个时间区间结束时间
LocalDateTime inputStartDateTime = LocalDateTime.of(LocalDate.now(), LocalTime.parse("13:30")); // 输入的时间段开始时间
LocalDateTime inputEndDateTime = LocalDateTime.of(LocalDate.now(), LocalTime.parse("19:00")); // 输入的时间段结束时间
// 判断是否跨夜
if (inputStartDateTime.isAfter(inputEndDateTime)) {
inputEndDateTime = inputEndDateTime.plusDays(1);
}
// 判断属于哪个时间区间
if (inputStartDateTime.toLocalTime().compareTo(startTime1) >= 0 && inputEndDateTime.toLocalTime().compareTo(endTime1) <= 0) {
System.out.println("属于第一个时间区间");
} else if (inputStartDateTime.toLocalTime().compareTo(startTime2) >= 0 || inputEndDateTime.toLocalTime().compareTo(endTime2) <= 0) {
System.out.println("属于第二个时间区间");
} else {
System.out.println("不属于任何时间区间");
}
```
在判断时间跨夜时,可以使用LocalDateTime的isAfter方法来比较开始时间和结束时间的先后顺序,如果开始时间晚于结束时间,则说明跨夜了,需要把结束时间加一天。在判断属于哪个时间区间时,需要先使用LocalDateTime的toLocalTime方法将日期时间转换为LocalTime类型,然后再使用LocalTime的compareTo方法来比较时间的先后顺序,根据不同的比较结果来判断属于哪个时间区间。