php 判断两个时间段是否有交集
一开始,没啥思路,全靠百度,记录一下哈
1 public function demo(){ 2 //例子 3 $astart = strtotime("1995-06-16 12:00:00");//第1个开始 4 $aend = strtotime("2008-06-16 12:00:00");//第1个结束 5 $bstart = strtotime("2006-06-16 12:00:00");//第2个开始 6 $bend = strtotime("2015-06-16 12:00:00");//第2个结束 7 $isIntersection = false; 8 if ($bstart - $astart > 0) { 9 if ($bstart - $aend <= 0) { 10 $cstart = $bstart; 11 $cend = $aend; 12 $isIntersection = true; 13 } 14 } else { 15 if ($bend - $astart > 0) { 16 $cstart = $astart; 17 $cend = $bend; 18 $isIntersection = true; 19 } 20 } 21 if ($isIntersection == true) { 22 echo date('Y-m-d H:i:s', $cstart) . '--' . date('Y-m-d H:i:s', $cend); 23 } 24 }
结果:2006-06-16 12:00:00--2008-06-16 12:00:00