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;
        }
    }
}
?>

 

posted @ 2016-06-23 00:04  yudis  阅读(2258)  评论(0编辑  收藏  举报