2012-12-05 186 views
0

我發現很難用PHP計算時間差。如何計算HH:MM:SS格式(小時:分鐘:秒)在兩個不同日期之間的時差?使用php計算時差?

例如,輸入:

 
$start_time : 19:30 
$end_time : 7:30, 
$currenttime = 21:30 

我必須找出當前時間匹配給定的起始時間和結束時間。

+0

可能重複的是: http://stackoverflow.com/questions/5759492/find-out-if-a-time-period-matches當前時間 – Sky

回答

1

將時間轉換爲時間戳值,該時間戳值是以秒爲單位的整數值。然後,您可以輕鬆扣除它們,以秒爲單位獲得差異。之後,將其轉換回小時和分鐘非常簡單。

1
$iStart = strtotime('00:00:00'); 
$iEnd = strtotime('12:00:00'); 

$iCurrent = strtotime(date('H:i:s')); 

if($iCurrent > $iStart && $iCurrent < $iEnd) { 
    echo "active!"; 
} else { 
echo "not active"; 
} 

這隻會尊重時間(它每天都會激活一次)。 如果您需要特定日期,您可以使用:

$iStart = strtotime('2012-12-01 00:00:00'); 
$iEnd = strtotime('2012-12-31 12:00:00'); 

$iCurrent = time(); 

if($iCurrent > $iStart && $iCurrent < $iEnd) { 
    echo "active!"; 
} else { 
echo "not active"; 
} 
+0

是的,實際的代碼也可能工作。 ;-) +1 – GolezTrol