找出两个日期时间和格式之间的差异 Y-m-d H:i:s

2022-08-30 12:51:02

我试图得到两个日期时间之间的差异,并将其作为.我已经找到了使用的例子,但我似乎不能做对。datetimediff

$timein = date("Y-m-d H:i:s");
$timeout = date("Y-m-d 20:00:00");
$totaltime = $timein->diff($timeout);

但是,请记录到我的数据库。这是因为我没有格式化总时间变量吗?$totaltime0000-00-00 00:00:00


答案 1

我不确定您在差异中寻找什么格式,但以下是使用DateTime的方法

$datetime1 = new DateTime();
$datetime2 = new DateTime('2011-01-03 17:13:00');
$interval = $datetime1->diff($datetime2);
$elapsed = $interval->format('%y years %m months %a days %h hours %i minutes %s seconds');
echo $elapsed;

答案 2

您可以简单地使用日期时间差异和格式来计算差异。

<?php
$datetime1 = new DateTime('2009-10-11 12:12:00');
$datetime2 = new DateTime('2009-10-13 10:12:00');
$interval = $datetime1->diff($datetime2);
echo $interval->format('%Y-%m-%d %H:%i:%s');
?>

有关日期时间格式的更多信息,请参阅:在这里
您可以按照自己想要的方式更改间隔格式。

这是工作示例

附言:这些功能(diff()format())仅适用于>= PHP 5.3.0


推荐