PHP计算两个时间段是否有交集(边界重叠不算)

Posted 自留记

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP计算两个时间段是否有交集(边界重叠不算)相关的知识,希望对你有一定的参考价值。

<?php
/**
 * PHP计算两个时间段是否有交集(边界重叠不算)
 *
 * @param string $beginTime1 开始时间1
 * @param string $endTime1 结束时间1
 * @param string $beginTime2 开始时间2
 * @param string $endTime2 结束时间2
 * @return bool
 * @author blog.snsgou.com
 */
function is_time_cross($beginTime1 = ‘‘, $endTime1 = ‘‘, $beginTime2 = ‘‘, $endTime2 = ‘‘){
    $status = $beginTime2 - $beginTime1;
    if ($status > 0){
        $status2 = $beginTime2 - $endTime1;
        if ($status2 > 0){
            return false;
        }elseif ($status2 < 0){
            return true;
        }else{
            return false;
        }
    }elseif($status < 0){
        $status2 = $endTime2 - $beginTime1;
        if ($status2 > 0){
            return true;
        }else if ($status2 < 0){
            return false;
        }else{
            return false;
        }
    }else{
        $status2 = $endTime2 - $beginTime1;
        if ($status2 == 0){
            return false;
        }else{
            return true;
        }
    }
}
?>

 

以上是关于PHP计算两个时间段是否有交集(边界重叠不算)的主要内容,如果未能解决你的问题,请参考以下文章

Java日期时间API系列37-----时间段是否有重叠(交集)的计算方法

为啥两个不重叠的字符集的交集是非空的?

是否可以使用R data.table函数foverlaps来查找两个表中重叠范围的交集?

计算两个矩形列表的重叠

代码题(21)— 两数组交集

计算边界框重叠的百分比,用于图像检测器评估