2014-09-29 57 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