gpt4 book ai didi

java - 如何检查一个时间段是否与java中的另一个时间段重叠

转载 作者:搜寻专家 更新时间:2023-10-30 19:49:30 25 4
gpt4 key购买 nike

如何查看一个时间段是否与同一天的另一个时间段重叠。

例如,

  1. 上午 7:00 到上午 10:30 与上午 10:00 到上午 11:30 重叠
  2. 上午 7:00 到上午 10:30 与上午 8:00 到上午 9:00 重叠
  3. 早上 7:00 到上午 10:30 与早上 5:00 到早上 8:00 重叠

最佳答案

有一个简单的解决方案,这里表示为实用方法:

public static boolean isOverlapping(Date start1, Date end1, Date start2, Date end2) {
return start1.before(end2) && start2.before(end1);
}

此代码要求在两个周期之间至少共享一毫秒以返回 true

如果认为相邻的时间段“重叠”(例如 10:00-10:30 和 10:30-11:00),则需要稍微调整逻辑:

public static boolean isOverlapping(Date start1, Date end1, Date start2, Date end2) {
return !start1.after(end2) && !start2.after(end1);
}

这种逻辑更常出现在数据库查询中,但同样的方法适用于任何上下文。

一旦你意识到它是多么简单,你首先踢自己,然后把它存入银行!

关于java - 如何检查一个时间段是否与java中的另一个时间段重叠,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17106670/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com