# 如何知道两个时间段是否重叠? ## **问题来源:** 活动的创建,如活动A和活动B的开始结束时间,不能重叠在一起 ## **问题描述:** A和B的开始结束时间,不能重叠 设A的时间段为 2018年9月1日 18:00:00 - 2018年9月10日 18:00:00 设B的时间段为 2018年9月5日 18:00:00 - 2018年9月15日 18:00:00 ## **解决方案:** 可以利用区间重叠算法 假设存在两个区间 A[A1,A2] , B[B2,B2], 如何判断区间A和B存在重叠? 算法 Begin = Max(A1 , B1) ; End = Min(A2 , B2) ; Len = End - Begin 只要 Len >= 0 , 那么AB区间重叠,Len为重叠的长度 所以以上的问题,可以把活动AB的开始以及结束时间,转换成时间戳带入,即可解决!