5
版本情况
JDK版本: openjdk_8_201 hutool版本: 5.8.21
问题描述(包括截图)关键提交项 #2725 类似描述 #3215
isOverlap这个方法用于检查两个时间段是否有时间重叠, 5.8.9版本之前,此方法对于前后连续的两个时间段是返回false 即不重叠. 5.8.9版本之后,此方法对于前后连续的两个时间段是返回true 即重叠.
这是超乎预期的逻辑调整, 我认为是它是一种不兼容更新. 应该提供重载方法以适配最初的场景.
1.复现代码
public static void main(String[] args) {
//判断两个时间段是否有交集
Date startTime1 = DateUtil.parse("2023-11-15 08:00:00");
Date endTime1 = DateUtil.parse("2023-11-15 10:00:00");
Date startTime2 = DateUtil.parse("2023-11-15 10:00:00");
Date endTime2 = DateUtil.parse("2023-11-15 11:00:00");
if (DateUtil.isOverlap(startTime1, endTime1, startTime2, endTime2)) {
// 版本>=5.8.10
System.out.println(StrFormatter.format("有交集"));
}else {
// 版本<=5.8.9
System.out.println(StrFormatter.format("无交集"));
}
}