判断两个时间段是否有冲突,用java代码
时间: 2024-05-15 07:13:14 浏览: 172
可以用以下代码实现判断两个时间段是否有冲突:
```java
public static boolean isTimeConflict(LocalTime start1, LocalTime end1, LocalTime start2, LocalTime end2) {
// 比较时间段1的结束时间是否早于时间段2的开始时间,或者时间段1的开始时间是否晚于时间段2的结束时间
if (end1.isBefore(start2) || start1.isAfter(end2)) {
return false; // 没有冲突
} else {
return true; // 有冲突
}
}
```
其中,`LocalTime`是Java 8中的时间类,表示一个不带时区的时间,可以通过以下方式创建:
```java
LocalTime time = LocalTime.of(hour, minute, second);
```
例如,要创建9:30am、2:45pm和6:00pm这三个时间,可以这样写:
```java
LocalTime time1 = LocalTime.of(9, 30);
LocalTime time2 = LocalTime.of(14, 45);
LocalTime time3 = LocalTime.of(18, 0);
```
使用时,只需要调用上面的`isTimeConflict`方法,传入两个时间段的开始时间和结束时间即可。例如:
```java
LocalTime start1 = LocalTime.of(10, 0);
LocalTime end1 = LocalTime.of(12, 0);
LocalTime start2 = LocalTime.of(11, 0);
LocalTime end2 = LocalTime.of(13, 0);
if (isTimeConflict(start1, end1, start2, end2)) {
System.out.println("时间冲突");
} else {
System.out.println("时间不冲突");
}
```
上述代码会输出“时间冲突”,因为第一个时间段(10:00-12:00)与第二个时间段(11:00-13:00)有重叠部分。
阅读全文