我一直在寻找几个小时的答案,但我找不到答案。
我正在写一个简单的script
. 用户设置他们的工作开始和结束时间。例如,有人从 8:00 工作到 16:00。我怎样才能减去这个时间来看看这个人工作了多长时间?
我正在尝试strtotime();
但没有成功...
我一直在寻找几个小时的答案,但我找不到答案。
我正在写一个简单的script
. 用户设置他们的工作开始和结束时间。例如,有人从 8:00 工作到 16:00。我怎样才能减去这个时间来看看这个人工作了多长时间?
我正在尝试strtotime();
但没有成功...
更好一点的是以下内容:
$a = new DateTime('08:00'); $b = new DateTime('16:00'); $interval = $a->diff($b); echo $interval->format("%H");
这会给你几个小时的差异。
如果你得到有效的日期字符串,你可以使用这个:
$workingHours = (strtotime($end) - strtotime($start)) / 3600;
这将为您提供一个人一直在工作的时间。
另一种解决方案是通过 Unix-timestamp 整数值差异(以秒为单位)。
<?php
$start = strtotime('10-09-2019 12:01:00');
$end = strtotime('12-09-2019 13:16:00');
$hours = intval(($end - $start)/3600);
echo $hours.' hours'; //in hours
//If you want it in minutes, you can divide the difference by 60 instead
$mins = (int)(($end - $start) / 60);
echo $mins.' minutues'.'<br>';
?>
如果您的原始日期以 Unix 时间戳格式存储,则此解决方案会更好。