如何在Symfony MongoDB中获得两个日期之间的差异?

ABS*_*ABS 1 mongodb symfony odm

我有一个问题,计算PHP日期对象和当前时间之间的日期差异.我知道我必须得到当前时间:

//in a symfony controller
new \DateTime("now")
Run Code Online (Sandbox Code Playgroud)

我有一个成员文档(MySql中的实体),其中包含如下字段:

class Member {
    //some fields

    /**
     * @ODM\Date
     */
    protected $regDate;

    //and so on
}
Run Code Online (Sandbox Code Playgroud)

现在我想计算用户活动:

// $member declared and assigned
$activity = new \DateTime("now") - $member->getRegDate();
Run Code Online (Sandbox Code Playgroud)

但是会发生以下错误:

Object of class DateTime could not be converted to int
Run Code Online (Sandbox Code Playgroud)

我做错了什么?感谢您的帮助

Der*_*ick 8

您可以date_diff用来计算差异:

$diff = date_diff(new DateTime(), $member->getRegDate());
var_dump( $diff ); // « shows some properties.
Run Code Online (Sandbox Code Playgroud)

有关更多信息,请参阅date_diffDateInterval上的文档.

顺便说一句,您不需要使用"now"任何一种,因为这是默认行为.