java 时间段重叠_java 判断两个时间段是否重叠的案例
时间: 2023-11-24 17:06:36 浏览: 132
判断两个时间段是否重叠可以通过比较两个时间段的开始时间和结束时间来实现。以下是一个 Java 实现的例子:
```java
public static boolean isOverlap(Date start1, Date end1, Date start2, Date end2) {
// 如果两个时间段有一个为空,则认为它们不重叠
if (start1 == null || end1 == null || start2 == null || end2 == null) {
return false;
}
// 如果第一个时间段的结束时间早于第二个时间段的开始时间,则认为它们不重叠
if (end1.before(start2)) {
return false;
}
// 如果第一个时间段的开始时间晚于第二个时间段的结束时间,则认为它们不重叠
if (start1.after(end2)) {
return false;
}
// 否则,它们重叠
return true;
}
```
使用示例:
```java
Date start1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse("2021-01-01 09:00:00");
Date end1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse("2021-01-01 12:00:00");
Date start2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse("2021-01-01 10:00:00");
Date end2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse("2021-01-01 13:00:00");
if (isOverlap(start1, end1, start2, end2)) {
System.out.println("时间段重叠");
} else {
System.out.println("时间段不重叠");
}
```
输出结果为:时间段重叠。
阅读全文