/**
 * PHP计算两个时间段交集时间
 * @param int $beginTime1 开始时间1
 * @param int $endTime1 结束时间1
 * @param int $beginTime2 开始时间2
 * @param int $endTime2 结束时间2
 * @return int
 */
function is_time_cross($beginTime1 = 0, $endTime1 = 0, $beginTime2 = 0, $endTime2 = 0)
{
    //////////剔除没有交集的情况,在一段时间的两侧情况
    if (($beginTime1 < $beginTime2 && $endTime1 = $endTime2 && $endTime1 > $endTime2)) {
        return 0;
    }
    /////////假设一段时间在另一段时间之内的情况
    //当time2完全在time1的范围内时
    if ($beginTime2 >= $beginTime1 && $endTime2 = $beginTime2 && $endTime1 <= $endTime2) {
        return $endTime1 - $beginTime1;
    }
    /////////假设一段时间在另一段时间开始或结尾处
    //当time1范围在$beginTime2范围左右时
    if ($beginTime1 < $beginTime2 && $endTime1 > $beginTime2) {
        return $endTime1 - $beginTime2;
    }
    //当time1范围在$endTime2范围左右时
    if ($beginTime1 < $endTime2 && $endTime2 < $endTime1) {
        return $endTime2 - $beginTime1;
    }
    //当time2范围在$beginTime1范围左右时
    if ($beginTime2 < $beginTime1 && $endTime2 > $beginTime1) {
        return $endTime2 - $beginTime1;
    }
    //当time2范围在$endTime1范围左右时
    if ($beginTime2 < $endTime1 && $endTime1 < $endTime2) {
        return $endTime1 - $beginTime2;
    }
}