与对象的日期时间比较 php

DateTime Comparison with objects php

这可能是最简单的问题,但我不知道如何最好地解决这个问题

我有 2 个日期要比较 $lp & now()

$lp = $ur->getLastPost($usr) ?: new \DateTime('yesterday');
$tdiff = date_diff(strtotime($lp),strtotime('now'));

$lp 可以是 2019-11-21 17:20:44 或当前 yesterday 时间

我想在 unixtimestamp 中转换 $lp 以便我可以查看差异是否大于 3600 秒

我的问题是我不能使用 strtotime 因为 $lp 可以是一个对象,因此错误 strtotime() expects parameter 1 to be string, object given

您必须将 datetime 解析为您的格式 $lp:

$date = new DateTime($ur->getLastPost($usr) ?: 'yesterday');
$date->format('Y-m-d H:i:s');

然后您可以使用 date_diff 来获取日期差异。

print_r($date->diff(new \DateTime('now')));

DateTime::diff and Datetime class