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


How to count how many hours inside an hour range?

你能帮我吗?

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

在这种情况下可以使用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
<?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