2024年4月14日发(作者:)
时分 时间区间重合算法 java
在Java中,我们可以使用如下的算法来判断两个时间区间是否
有重合:
1. 首先,我们需要定义一个时间段类,其中包含开始时间和结
束时间两个属性。代码如下:
```
public class TimePeriod {
private LocalDateTime startTime;
private LocalDateTime endTime;
public TimePeriod(LocalDateTime startTime, LocalDateTime
endTime) {
ime = startTime;
e = endTime;
}
public LocalDateTime getStartTime() {
return startTime;
}
public LocalDateTime getEndTime() {
return endTime;
}
}
```
- 1 -
2. 接下来,我们可以编写一个判断两个时间段是否有重合的方
法。比较简单的做法是,将两个时间段的开始时间和结束时间分别取
出来,然后进行比较。如果两个时间段的开始时间的最大值小于等于
结束时间的最小值,那么这两个时间段就有重合。代码如下:
```
public static boolean isOverlap(TimePeriod period1,
TimePeriod period2) {
LocalDateTime start1 = rtTime();
LocalDateTime end1 = Time();
LocalDateTime start2 = rtTime();
LocalDateTime end2 = Time();
return (start2).isBefore((end2));
}
```
3. 最后,我们可以编写一个简单的测试程序,来验证我们的算
法是否正确。代码如下:
```
public static void main(String[] args) {
LocalDateTime start1 = (2022,
Y, 1, 10, 0);
LocalDateTime end1 = (2022, Y,
1, 12, 0);
- 2 -
TimePeriod period1 = new TimePeriod(start1, end1);
LocalDateTime start2 = (2022,
Y, 1, 11, 0);
LocalDateTime end2 = (2022, Y,
1, 13, 0);
TimePeriod period2 = new TimePeriod(start2, end2);
n(isOverlap(period1, period2)); // true
}
```
通过以上的算法,我们可以轻松判断两个时间段是否有重合,从
而实现各种复杂的时间计算。
- 3 -
发布者:admin,转转请注明出处:http://www.yc00.com/web/1713072969a2177476.html
评论列表(0条)