【问题标题】:PHP time subtraction from 2 variables从 2 个变量中减去 PHP 时间
【发布时间】:2017-03-04 11:05:44
【问题描述】:
我正在尝试在 PHP 中减去两个变量(时间格式,“H:i:s”),i.ex:
$entryscan = '07:15:00';
$exitscan = '16:35:00';
如何获得工作时长?
我的意思是$workduration = $exitscan - $entryscan;
所以,答案是$workduration = '09:20:00';
【问题讨论】:
标签:
php
datetime
duration
subtraction
【解决方案1】:
使用php timediff函数。
$datetime1 = new DateTime($entryscan);
$datetime2 = new DateTime($exitscan);
$interval = $datetime1->diff($datetime2);
echo $interval->format('%H hours');
%H 将为您提供 小时 的差异。
%I 将在 分钟 内为您提供差异。
%S 将在 秒 内为您提供差异。
【解决方案2】:
$entryscan = '07:15:00';
$exitscan = '16:35:00';
$time1 = new DateTime($entryscan);
$time2 = new DateTime($exitscan);
$diffis = $time1->diff($time2);
echo $workduration = $diffis->format('%H:%I:%S');
@Arshid 我只是编辑你的代码工作正常。
【解决方案3】:
如果您的 php 版本 >= 5.2,请尝试使用 php DateTime 类
$entryscan = '07:15:00';
$exitscan = '16:35:00';
$entryTime = new DateTime($entryscan);
$exitTime = new DateTime($exitscan);
$interval = $entryTime->diff($exitTime);
$workduration = $interval->format('%H:%I:%S');