你能帮我吗?
我正在创建一个活动策划器,我有一个由小时范围组成的功能。例如,我有一个活动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
是为了得到一个整数值。您可以自由使用round
、ceil
或floor
。