PHP计算两个时间段是否有交集(边界重叠不算)

/**
 * 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;
		}
	}
}

  

posted @ 2017-08-11 17:57  spectrelb  阅读(329)  评论(0编辑  收藏  举报