我来这里有一个我想分享的问题,希望有人能帮助我解决这个问题.我会尝试尽可能清楚地描述问题.问题如下.
我有一个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等等......这不是我想要应用的.
如果有其他一些想法,欢迎他们.如果您需要更多信息,我会添加它.谢谢.