-2

因此,在我的数据库中,我得到了一个日期时间字段,其中填充了例如 2012-09-19 11:20:33。现在我正在尝试获取日期时间。

$blabla = $something->getDatetime();

之后我创建一个新的 DateTime,它代表现在的时间

$now = new \DateTime("now");

之后我想像这样减去它们(但它不起作用)?

$test1 = strtotime($blabla);
$test2 = strtotime($now);
$diff = $test2 - $test1; 
echo $diff;

我的目标是从现在的时间中减去数据库中的持久日期时间......结果应该以秒为单位显示......所以 2012-09-19 11:22:22 - 2012-09-19 11:20:22等于 120(秒)。

我还尝试将 unix 时间戳保存到我的数据库中,但不幸的是字段类型时间戳不存在。

4

2 回答 2

0

如果您希望以秒为单位显示答案,则只需减去时间戳:-

$blabla = $something->getDatetime();
$now = new DateTime();
$seconds = $now->getTimestamp() - $blabla->getTimestamp();
于 2012-09-24T19:06:22.357 回答
0
$blabla = $something->getDatetime();
$now = new \DateTime("now");
$diff = $now->diff($blabla);

请记住 $diff 是一个DateInterval对象,您必须使用它的方法和属性来获得最终所需的结果。

于 2012-09-19T09:28:01.657 回答