/** * PHP计算两个时间段是否有交集(边界重叠不算) * * @param string $beginTimeOne 开始时间1 * @param string $endTimeOne 结束时间1 * @param string $beginTimeTwo 开始时间2 * @param string $endTimeTwo 结束时间2 * @return bool */ protected function isTimeCross($beginTimeOne = '', $endTimeOne = '', $beginTimeTwo = '', $endTimeTwo = '') { $statusOne = $beginTimeTwo - $beginTimeOne; if ($statusOne > 0){ $statusTwo = $beginTimeTwo - $endTimeOne; if ($statusTwo > 0) { return false; } elseif ($statusTwo < 0) { return true; } else{ return false; } } elseif ($statusOne < 0) { $statusTwo = $endTimeTwo - $beginTimeOne; if ($statusTwo > 0){ return true; } elseif ($statusTwo < 0) { return false; } else { return false; } } else { $statusTwo = $endTimeTwo - $beginTimeOne; if ($statusTwo == 0) { return false; } else { return true; } } }