/** * 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; } }
如果帮助到你,请赏杯奶茶喝~
- 本文链接: https://www.shx1024.top//index/article/details/article_id/53.shtml
- 版权声明:本博客所有文章除特别声明外,均默认采用 许可协议。