java中多时间段取交集
时间: 2023-09-20 14:13:25 浏览: 85
java 判断两个时间段是否重叠的案例
在Java中,可以使用`java.time`包中的`LocalDateTime`类来处理时间段的交集。以下是一个示例代码:
```java
import java.time.LocalDateTime;
public class TimeIntersection {
public static void main(String[] args) {
LocalDateTime start1 = LocalDateTime.of(2022, 1, 1, 9, 0);
LocalDateTime end1 = LocalDateTime.of(2022, 1, 1, 11, 0);
LocalDateTime start2 = LocalDateTime.of(2022, 1, 1, 10, 30);
LocalDateTime end2 = LocalDateTime.of(2022, 1, 1, 12, 0);
LocalDateTime intersectionStart = start1.isBefore(start2) ? start2 : start1;
LocalDateTime intersectionEnd = end1.isBefore(end2) ? end1 : end2;
if (intersectionStart.isBefore(intersectionEnd)) {
System.out.println("时间段交集为:" + intersectionStart + " 至 " + intersectionEnd);
} else {
System.out.println("时间段无交集");
}
}
}
```
在上述代码中,我们定义了两个时间段`[start1, end1]`和`[start2, end2]`,然后通过比较开始时间和结束时间,找到它们的交集。如果交集存在,则输出交集的开始时间和结束时间;否则,输出"时间段无交集"。
注意:在实际使用时,你可能需要根据具体需求对时间段的判断条件进行调整。以上代码仅提供了一个基本的示例。
阅读全文