首页 > 解决方案 > php DateTime() 在过去分配日期时返回当前日期

问题描述

我需要显示报告的日期/时间和时间日期/现在之间的持续时间。例如。1天15小时48分钟

$reported = the_sub_field('reported'); //format eg. 27 January, 2020 12:00

$currdt= new DateTime(Date("Y-m-d H:i"));
var_dump($currdt);

$reporteddt= new DateTime($reported );
var_dump($reporteddt);

$interval = $currdt->diff($reporteddt);
var_dump($interval);

$duration =  $interval->d ." days ".$interval->h ." hours ". $interval->i ." mins";

非常感谢

标签: phpdatetimeformatdiff

解决方案


您必须删除逗号。

$reported = '28 January, 2020 12:00'; 
$reported = str_replace(',', '', $reported);
$reporteddt= new DateTime($reported);
var_dump($reporteddt);

测试


推荐阅读