你能帮我解决这个问题吗?
我正在创建一个活动策划器,我有一个由小时范围组成的功能。例如,我有一个活动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?
?>
答案 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
是获取整数值。您可以免费使用round
,ceil
或floor
。