1

我在计算 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

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

4

1 回答 1

8

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

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

有关详细信息,请参阅有关date_diffDateInterval的文档。

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

于 2013-08-14T15:43:48.310 回答