0
点赞
收藏
分享

微信扫一扫

用“距离长度”判断两个日期段是否重合

很久没有写什么东西了,偶尔写一下,证明自己还有呼吸

某些业务需求,需要拿到与传递的时间段相重合的数据行,一般情况有以下5种(第6种情况是第5种的变种,完全不重合):

用“距离长度”判断两个日期段是否重合_段长度

*换行*

这里用“距离长度”来判断两个时间段是否重合,目前我个人感觉比较直观也比较简单的判断方法,即两段开始时间最小值,与两时间的最大值之间的长度,必然小于两段时间长度之和,这种情况就是属于时间段重合;如果长度相等,则属于时间段连续;如果最大值与最小值间的长度大于两时间段长度的和,则表示完全不重合。

min = t1<t3?t1:t3;

max = t2>t4?t2:t4;

matchLength = max-min;

length = (t2-t1)+(t4-t3);

v  = matchLength - length;


**由此也引发了本人对两集合的交集、并集、差集的算法思考。

**欢迎批评指正

举报

相关推荐

0 条评论