2013-10-03 6 views
1

У меня есть этот вар в моей веточке Templete:разница Symfony2 DateTime не работает

{{aWorker.timeToRetirement|date('Y-m-d')}} 

, когда я исполняю страницу это точно возвращающуюся этот текст: «Y-м-д» без «» конечно. Теперь то, что я действительно хочу получить, - это разница между двумя датами, давайте скажем будущую дату (это дата выхода на пенсию человека/работника, которую вы можете получить больше информации о том, что я делаю, если вам это нужно here) '2060-12 -01 'и сегодняшней датой - 2013-10-03. Я хочу сделать это, используя этот var и метод в моем классе Entity:

//... 
//Var containing the retirement date 
private $retireYear; 
//var to store time to retirement from today 
private $timeToRetirement; 
//... 
    public function getTimeToRetirement(){ 
     $this->timeToRetirement = $this->retireYear->diff(new \DateTime('today')); 
    return $this->timeToRetirement; 
} 

Что я делаю неправильно? whay является var, не возвращающим разницу между сегодняшним днем ​​и датой выхода на пенсию

ответ

2

Ваша функция возвращает объект DateInterval, поэтому для генерации нужной строки вам необходимо использовать свой метод format().

+0

Полностью правильно, спасибо @vascowhite, я изменил вернуться к: 'код возврата $ this-> timeToRetirement-> формат ('% Y лет,% м месяцев,% D дней');' и шаблон var: 'code {{aWorker.timeToRetirement}}' Еще раз спасибо. Я не знаю, как поставить код на мои комментарии – Abel

+0

Извините за опечатки, я изучаю, как делать комментарии сейчас. – Abel

Смежные вопросы