這篇文章主要介紹了php編程計算兩個時間段是否有交集的實現方法,結合具體實例形式對比分析了php時間段的轉換、比較等相關操作技巧,需要的朋友可以參考下
本文實例講述了PHP編程計算兩個時間段是否有交集的實現方法。分享給大家供大家參考,具體如下:
優化前的版本:
/** ?*?PHP計算兩個時間段是否有交集(邊界重疊不算) ?* ?*?@param?string?$beginTime1?開始時間1 ?*?@param?string?$endTime1?結束時間1 ?*?@param?string?$beginTime2?開始時間2 ?*?@param?string?$endTime2?結束時間2 ?*?@return?bool ?*/ function?is_time_cross($beginTime1?=?'',?$endTime1?=?'',?$beginTime2?=?'',?$endTime2?=?'')?{ ??$status?=?$beginTime2?-?$beginTime1; ??if?($status?>?0)?{ ????$status2?=?$beginTime2?-?$endTime1; ????if?($status2?>?0)?{ ??????return?false; ????}?elseif?($status2??0)?{ ??????return?true; ????}?else?if?($status2?<p></p><p>優化后的版本(條件合并):</p><p><span>立即學習</span>“<a href="https://pan.quark.cn/s/7fc7563c4182" style="text-decoration: underline !!important; color: blue; font-weight: bolder;" rel="nofollow" target="_blank">PHP免費學習筆記(深入)</a>”;</p><p class="jb51code"></p><pre class="brush:php;toolbar:false">/** ?*?PHP計算兩個時間段是否有交集(邊界重疊不算) ?* ?*?@param?string?$beginTime1?開始時間1 ?*?@param?string?$endTime1?結束時間1 ?*?@param?string?$beginTime2?開始時間2 ?*?@param?string?$endTime2?結束時間2 ?*?@return?bool ?*/ function?is_time_cross($beginTime1?=?'',?$endTime1?=?'',?$beginTime2?=?'',?$endTime2?=?'')?{ ??$status?=?$beginTime2?-?$beginTime1; ??if?($status?>?0)?{ ????$status2?=?$beginTime2?-?$endTime1; ????if?($status2?>=?0)?{ ??????return?false; ????}?else?{ ??????return?true; ????} ??}?else?{ ????$status2?=?$endTime2?-?$beginTime1; ????if?($status2?>?0)?{ ??????return?true; ????}?else?{ ??????return?false; ????} ??} }
測試:
$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);//輸出1
? 版權聲明
文章版權歸作者所有,未經允許請勿轉載。
THE END