美文网首页
开发解决方案 ● 如何知道两个时间段是否重叠?

开发解决方案 ● 如何知道两个时间段是否重叠?

作者: SamTribiani | 来源:发表于2018-11-24 12:40 被阅读0次

    问题来源:

    活动的创建,如活动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的开始以及结束时间,转换成时间戳带入,即可解决!

    相关文章

      网友评论

          本文标题:开发解决方案 ● 如何知道两个时间段是否重叠?

          本文链接:https://www.haomeiwen.com/subject/sineqqtx.html