基本思路:
假设存在两个日期区间 ab,cd,如何判断ab,cd是否相交若相交的话如何获取到他们的交集
分类讨论
1.ab>cd
假设ab区间长度等于cd,想象空间里存在一个横轴,cd固定不动,ab从cd左侧平移至cd右侧
则有四种情况出现
ab完全在cd左侧
b点在cd区间内
a点在cd区间内
ab完全在cd右侧
2.ab=cd
假设ab区间长度等于cd,想象空间里存在一个横轴,cd固定不动,ab从cd左侧平移至cd右侧
则有五种情况出现
ab完全在cd左侧
b点在cd区间内
a , b点同时在cd区间内
a点在cd区间内
ab完全在cd右侧
3.ab<cd
假设ab区间长度等于cd,想象空间里存在一个横轴,cd固定不动,ab从cd左侧平移至cd右侧
则有五种情况出现
ab完全在cd左侧
b点在cd区间内
a , b点同时在cd区间内
a点在cd区间内
ab完全在cd右侧
通用思路
对于已经存在的时间区间,转换为至颗粒度为毫秒级别的连续区间点,最新的时间区间取两端端点,然后将这两点与原有的连续区间点进行排序,若排完序后这两个点不是相邻的两点,则说明与其他的时间区间有交集,并可以根据中间插入的间隔点查到中间相交的点集