2014-09-29 55 views
1

你能幫我嗎?如何統計一個小時內有多少小時?

我正在創建活動策劃者,並且我有一個由小時範圍組成的功能。例如,我有一個活動「生日」,這個活動從13:15:00到18:30:00開始。現在我該如何計算這個範圍內的小時數?

我有這樣的代碼:

<?php 

$start = "13:15:00"; 
$end = "18:30:00"; 

$time = strtotime($start); 
$timeStop = strtotime($end); 

//how can I count the hours inside? 

?> 

回答

4

你可以使用在這種情況下gmdate()

$time = gmdate('H:i:s', $timeStop - $time); // feed seconds 
echo $time; 

或用DateTime類也:

$time = new DateTime($start); 
$timeStop = new DateTime($end); 
$diff = $timeStop->diff($time); 
echo $diff->format('%h:%i'); // hours minutes 
+1

+1'DateTime'回答 – Scopey 2014-09-29 03:59:59

+0

+1'$ diff-> h'也會爲您提供整數的小時數 – itsmejodie 2014-09-29 04:01:41

+0

哇!感謝您的快速回復。我真的不知道這個代碼.. :) – Jerielle 2014-09-29 04:02:38

2
<?php 

$start = "13:15:00"; 
$end = "18:30:00"; 

$time = strtotime($start); 
$timeStop = strtotime($end); 

//To count hours in the range 
$diff = intval(($timeStop - $time)/3600); 
//3600 refers to 1 hour 

?> 

所以你tak e兩個時間戳之間的差異併除以3600秒以獲得小時數。 intval是獲得一個整數值。您可以自由使用round,ceilfloor