2013-08-14 4 views
1

У меня есть проблема с расчетом даты разницы между объектом датой PHP и текущей time.I знают, что я должен получить текущее время с этим:Как получить разницу между двумя датами в Symfony MongoDB?

//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 

Какую ошибку я делать Спасибо за любую помощь

+0

Возможный дубликат [Как я могу преобразовать объект даты во времени в symfony2] (http://stackoverflow.com/questions/12803127/how-i-can-convert-date-object-into-time-in-symfony2) – cheesemacfly

ответ

6

Вы можете использовать date_diff для вычисления разницы:

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

Для получения дополнительной информации обратитесь к документации по date_diff и DateInterval.

Кстати, вам не нужно использовать "now", так как это поведение по умолчанию.

+0

Это работает! –