如何实现Java计算两个时间段是否重合

流程图

graph LR
A(开始) --> B(获取时间段1的起止时间)
B --> C(获取时间段2的起止时间)
C --> D(判断时间段是否重合)
D --> E(输出结果)

具体步骤

1. 获取时间段1的起止时间

// 定义时间段1的起止时间
Date start1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse("2022-01-01 00:00:00");
Date end1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse("2022-01-01 12:00:00");

2. 获取时间段2的起止时间

// 定义时间段2的起止时间
Date start2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse("2022-01-01 06:00:00");
Date end2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse("2022-01-01 18:00:00");

3. 判断时间段是否重合

// 判断时间段是否重合
boolean isOverlap = start1.before(end2) && end1.after(start2);

4. 输出结果

// 输出结果
if (isOverlap) {
    System.out.println("时间段重合");
} else {
    System.out.println("时间段不重合");
}

饼状图

pie
title 时间段是否重合
"重合" : 45
"不重合" : 55

类图

classDiagram
class 时间段 {
    Date start
    Date end
}

通过以上步骤,你可以轻松地计算两个时间段是否重合。祝你学习顺利,编程愉快!