我正在为我的老板开发一个 Timeclock 应用程序,并将时钟进出时间存储为 DateTime 和 Timestamp。
下面是一个简单的函数来计算用户的打卡和打卡日期时间之间的持续时间。
在演示中,您可以看到结果是15:11:18
即使两个日期之间有 5 天。我知道我可以简单地让函数显示天数,但我的老板不想显示天数,而是应该显示 2 个 DateTimes 之间的总小时、分钟、秒而不显示天数。
谁能指出我正确的方向或帮助它显示适当的时间?
例如,额外的 2 天将增加 48 小时而不是 2 天
public function dateTimeDifference($startDatetime, $endDatetime, $format = '%H:%I:%S')
{
$startDatetime2 = new DateTime($startDatetime, $this->timeZone);
$endDatetime2 = new DateTime($endDatetime, $this->timeZone);
$interval = $startDatetime2->diff($endDatetime2);
return $interval->format($format);
}
$startDatetime = '2013-09-10 07:15:48 pm';
$endDatetime = '2013-09-15 10:27:06 am';
echo dateTimeDifference($startDatetime, $endDatetime)
// Result: 15:11:18