PHP計算兩個時間段是否有交集(邊界重疊不算)

2021-09-08 18:50:15 字數 1298 閱讀 5627

優化前的版本:

/**

* php計算兩個時間段是否有交集(邊界重疊不算)

* * @param string $begintime1 開始時間1

* @param string $endtime1 結束時間1

* @param string $begintime2 開始時間2

* @param string $endtime2 結束時間2

* @return bool

* @author 52php.cnblogs.com

*/function is_time_cross($begintime1 = '', $endtime1 = '', $begintime2 = '', $endtime2 = '') elseif ($status2 < 0) else

} elseif($status < 0) else if ($status2 < 0) else

} else else

}}

優化後的版本(條件合併):

/**

* php計算兩個時間段是否有交集(邊界重疊不算)

* * @param string $begintime1 開始時間1

* @param string $endtime1 結束時間1

* @param string $begintime2 開始時間2

* @param string $endtime2 結束時間2

* @return bool

* @author blog.snsgou.com

*/function is_time_cross($begintime1 = '', $endtime1 = '', $begintime2 = '', $endtime2 = '') else

} else else

}}

測試:

$begintime1 = strtotime('2015-08-07 06:30');

$endtime1 = strtotime('2015-08-07 08:30');

$begintime2 = strtotime('2015-08-07 05:30');

$endtime2 = strtotime('2015-08-07 06:31');

echo is_time_cross($begintime1, $endtime1, $begintime2, $endtime2);

mysql查詢兩個時間段是否有交集

1.需求 查詢兩個時間段是否有交集 2.分析 分為三種情況 入參 查詢開始時間,查詢結束時間 資料庫字段 start date,end date 2.1 查詢開始時間在start date與end date之間,則肯定有交集 2.2 查詢結束時間在start date與end date之間,則肯定有...

判斷兩個時間段範圍是否有交集

專案中經常會遇到判斷兩個時間段範圍是否有交集,所以本文就記錄下當時思考的過程和示例 本文提供兩種思路。1 參考時間段 包含 比較時間段 2 參考時間段 只包含 比較時間段結束時間 3 參考時間段 只包含 比較時間段開始時間 4 比較時間段 包含 參考時間段 根據圖示編寫的 示例 判斷兩個時間範圍是否...

sql語句判斷兩個時間段是否有交集

場景 資料庫有有兩個欄位.開始時間,和結束時間,指定乙個時間段 a,b a表示開始時間,b表示結束時間。看資料庫中有沒有與 a,b 衝突的時間段,有的話就返回那條記錄。解析 兩個時間段相當於兩個集合,不過是有順序的集合。兩個時間段有交集細分有四種情況。用sql直接判斷無交集的語句可能也有,但是目前沒...