php DateTime() 在分配过去的日期时返回当前日期

php DateTime() returning current date when assigning date in past

我需要显示报告日期/时间和时间日期/现在之间的持续时间。例如。 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";

非常感谢

您必须删除逗号。

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

Test