Java 判断两个时间区间是否存在重叠
时间: 2023-10-29 09:06:09 浏览: 74
LeetCode题解 - Java语言实现-181页.pdf
可以通过比较两个时间段的开始时间和结束时间来判断它们是否重叠。
以下是一个示例方法,它接受四个参数:开始时间和结束时间的日期时间和另一个时间段的开始和结束日期时间。该方法返回一个布尔值,指示两个时间段是否重叠。
```java
public static boolean isOverlap(LocalDateTime start1, LocalDateTime end1, LocalDateTime start2, LocalDateTime end2) {
return start1.isBefore(end2) && end1.isAfter(start2);
}
```
在这个方法中,我们比较第一个时间段的开始时间是否在第二个时间段的结束时间之前,并且第一个时间段的结束时间是否在第二个时间段的开始时间之后。如果这两个条件都满足,则两个时间段重叠,方法返回 true。
例如,如果我们有两个时间段 A 和 B,A 的开始时间是 2022-01-01 10:00:00,结束时间是 2022-01-01 12:00:00,B 的开始时间是 2022-01-01 11:00:00,结束时间是 2022-01-01 13:00:00,则这两个时间段重叠,isOverlap 方法将返回 true。
阅读全文