0
我需要檢查兩個時間範圍是否重疊。 例如,PHP時間重疊檢查
TIME1:13:20 - 13時40分
TIME2:14:00 - 14:30
時間3:13:30 - 13點50分
TIME1和時間3重疊。我如何檢查這個?
time1和time2有20分鐘的差距,但是如果差距小於30分鐘,它也應該被認爲是重疊的。
任何人都可以幫助我,非常感謝。
我需要檢查兩個時間範圍是否重疊。 例如,PHP時間重疊檢查
TIME1:13:20 - 13時40分
TIME2:14:00 - 14:30
時間3:13:30 - 13點50分
TIME1和時間3重疊。我如何檢查這個?
time1和time2有20分鐘的差距,但是如果差距小於30分鐘,它也應該被認爲是重疊的。
任何人都可以幫助我,非常感謝。
這個?
$_30mins = 60*30; // 60 secs * 30 minutes
// make the times into seconds
$times = array();
$times[] = array("from"=>mktime(13,20,0,1,1,1970),"to"=>mktime(13,40,0,1,1,1970));
$times[] = array("from"=>mktime(14,00,0,1,1,1970),"to"=>mktime(14,30,0,1,1,1970));
$times[] = array("from"=>mktime(13,30,0,1,1,1970),"to"=>mktime(13,50,0,1,1,1970));
foreach($times as $key=>$val) {
foreach($times as $key2=>$val2) {
if ($key2!=$key && (($val["from"]>=$val2["from"] && $val["from"]<=$val2["to"]) ||
(abs($val["to"]-$val2["from"])<$_30mins))) {
echo "time $key overlaps with $key2<br>";
break;
}
}
}
我覺得他意味着重疊。 –
你輸入的格式如何?你能告訴我們一個真實的代碼嗎? –