【发布时间】:2016-03-24 17:20:44
【问题描述】:
我来这里有一个问题我想分享,我希望任何人都可以帮助我解决这个问题。我将尝试尽可能清楚地描述问题。问题如下。
我有一个 java 程序,有一个接收一组日期 (java.util.Date) 的方法。
| start end |
| date1 date1|
<--------------->
| | start end | | |
| | date2 date2| | |
| <-------------------> | |
| | start end |
| | date3 date3|
| <------------------->
在上面的例子中,我们有三个日期,前两个相交,但 start-date3 在 end-date2 之后。对于我的业务规则,这是一个时间空间。
现在考虑下一个场景。
| start end |
| date1 date1|
<--------------->
| | start end | | |
| | date2 date2| | |
| <-------------------> | |
| | start end |
| | date3 date3|
| <------------------->
| | |
| | start end |
| | date4 date4|
| <------------------------------------------------------>
在这种情况下,即使 end-date2 和 start-date3 之间有时间间隔,也认为它不存在时间间隔,因为 start-date4 和 end-date4 之间的时间覆盖了这个空间.
我想检索true,如果有一个或多个时间空间,否则我会返回false。
我尝试过的唯一方法是循环每个开始/结束关系,比较 end-date1 vs start-date2 vs start-date3 等等......这不是我想要应用的。
如果有其他想法,欢迎提出。如果您需要更多信息,我会添加它。谢谢。
【问题讨论】:
-
第二种情况你有空间时间吗?如果是那么为什么,即使开始日期4覆盖了时空,那么你没有时空。
-
相关问题,以及几个答案:stackoverflow.com/questions/32585990/…
-
@BahramdunAdil 在第二种情况下,即使在 end-date2 和 start-date3 之间确实存在时间间隔,我可以说这组日期没有空格,因为之间的时间范围start-date4 和 end-date4 与 end-date2 和 start-date3 之间的空间重叠。基本上,我正在寻找从最早的开始日期到最新的结束日期没有空格。如果还是不清楚,请追问,我会尽快回复的