时间重叠的判断


如上图,粗线是时间1
细线是时间2
时间重叠,只可能是以上四种情况。
按照上到下的顺序,
第一种是时间2的结束部分在时间1的之间
第二种情况是时间2的开始部分在时间1的之间
第三种情况是时间2的开始和结束部分都在时间1的之间(第一种和第二种情况的特殊情况,第三种无需判断,只需要判断满足第一种或者第二种)
第四种时间1在时间2的之间

假设时间1是'14:00'到'17:00'
时间2未知,那么条件可以写成
(
(ENDTIME >= '14:00' AND  ENDTIME <= '17:00')
OR (STARTTIME >= '14:00' AND  STARTTIME <= '17:00')
OR (STARTTIME <= '14:00' AND  ENDTIME >= '17:00')
)

猜你喜欢

转载自liyixing1.iteye.com/blog/2017277