判断两个时间段范围是否有交集(时间重叠)问题经常遇到,比如预约会议室开会,活动的开始结束等,本文做此分析。
前提:本文时间传参已做限制,结束时间必须大于开始时间
1、正向思维
代码如下
(oneStartTime <= otherStartTime && otherStartTime <= oneEndTime)
|| (oneStartTime <= otherEndTime && otherEndTime <= oneEndTime)
|| (oneStartTime <= otherStartTime && oneEndTime <= otherEndTime)
|| (otherStartTime <= oneStartTime && oneEndTime <= otherEndTime)
或
oneStartTime <= otherEndTime && oneEndTime >= otherStartTime
2、逆向思维
代码如下
!(otherEndTime < oneStartTime || otherStartTime > oneEndTime)
3、参考链接
1)判断两个时间段范围是否有交集
2)SQL中的时间重叠问题
若本文有帮助到阅读本文的同学,欢迎点赞、关注、收藏,互相学习交流。