如何计算一小时范围内的小时数?

时间:2014-09-29 03:53:51

标签: php time

你能帮我解决这个问题吗?

我正在创建一个活动策划器,我有一个由小时范围组成的功能。例如,我有一个活动BIRTHDAY,此活动从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?

?>

2 个答案:

答案 0 :(得分: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 :(得分: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

?>

因此,您将两个时间戳之间的差异除以3600秒以获得小时数。 intval是获取整数值。您可以免费使用roundceilfloor