判断两个时间段是否有交集
前言:项目中遇到了类似会议室预约的时间段被占用,预约车辆时间段被占用等。
start:预约开始时间。
end:预约结束时间。
必备条件:start <= end
思考🤔:
怎么判断是否被占用呢?
预约的时间,与目标数据库中任意一条的存在交集,则可以视为占用。
有交集的情况有那几种呢?
-
(a >= start & a <= end)
-
(b >= start & b <= end)
-
(a <= start & b >= end)
-
(a >= start & b <= end)
合并则是 (a >= start and a <= end) or (b >= start and b <= end) or (a <= start and b >= end) or (a >= start and b <= end)
优化:a <= end and b >= start
(即可满足4种条件)
补充没有交集
取反(没有交集)
a > end or b < start
文章来源:https://www.toymoban.com/news/detail-438389.html
总结:思路不太清楚可以画个图就明了了。查询出目标库中有交集的数据就说明有占用,如果没有则没有占用。文章来源地址https://www.toymoban.com/news/detail-438389.html
到了这里,关于判断两个时间段是否有交集的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!