Sta*_*eyr 26 php datetime date-math
我试图获得两个日期时间之间的差异,并将其作为一个返回datetime.我找到了使用的例子,diff但我似乎无法做到正确.
$timein = date("Y-m-d H:i:s");
$timeout = date("Y-m-d 20:00:00");
$totaltime = $timein->diff($timeout);
Run Code Online (Sandbox Code Playgroud)
但是$totaltime记录0000-00-00 00:00:00到我的DB.这是因为我没有格式化我的全时变量吗?
Joh*_*nde 61
我不确定你在寻找什么样的格式,但是这里是如何使用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;
Run Code Online (Sandbox Code Playgroud)
您可以简单地使用日期时间差异和格式来计算差异。
<?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');
?>
Run Code Online (Sandbox Code Playgroud)
有关 DATETIME 格式的更多信息,请参阅:here
您可以按照自己的方式更改间隔格式。
这是工作示例
PS 这些功能(diff()和format())仅适用于 >=PHP 5.3.0