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

时间:2013-08-14 15:25:36

标签: mongodb symfony odm

我在计算PHP日期对象和当前时间之间的日期差异时遇到问题。我知道我必须得到当前的时间:

//in a symfony controller
new \DateTime("now")

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

class Member {
    //some fields

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

    //and so on
}

现在我想计算用户活动:

// $member declared and assigned
$activity = new \DateTime("now") - $member->getRegDate();

但是发生了这个错误:

Object of class DateTime could not be converted to int

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

1 个答案:

答案 0 :(得分:7)

您可以使用date_diff来计算差异:

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

有关详情,请参阅date_diffDateInterval上的文档。

顺便说一句,您也不需要使用"now",因为这是默认行为。