получить разницу во времени между двумя датами

Я бы хотел сравнить две даты, чтобы получить разницу в времени (дни, часы, минуты и секунды) в TWIG

{% set todayDate = ( "now"| date("Ymd H:i:s") ) %} //2013-04-17 08:45:28 {% set endDate = (enddate|date('Ymd H:i:s')) %} //2013-04-18 23:59:59 

Как получить разницу в часах?

Наконец, я получил его. Сравните две даты, чтобы получить время (дни, часы и минуты) в контроллере:

(запрос доктрины)

 TIMESTAMPDIFF(DAY,CURRENT_TIMESTAMP(), a.enddate) AS endday, (TIMESTAMPDIFF(HOUR,CURRENT_TIMESTAMP(), a.enddate) - TIMESTAMPDIFF(DAY,CURRENT_TIMESTAMP(),a.enddate)*24) AS endhour, (TIMESTAMPDIFF(MINUTE,CURRENT_TIMESTAMP(), a.enddate) - TIMESTAMPDIFF(HOUR,CURRENT_TIMESTAMP(), a.enddate)*60) AS endmin, 

Создал функцию для TIMESTAMPDIFF https://github.com/beberlei/DoctrineExtensions/blob/master/lib/DoctrineExtensions/Query/Mysql/TimestampDiff.php

и включить фрагмент

app-> config-> config.yml doctrine: dbal: ……..

 orm: entity_managers: default: auto_mapping: true dql: datetime_functions: timestampdiff: Acme\BUNDLE\FOLDER\TimestampDiff 

Спасибо всем ..

Поскольку вы передаете enddate в свой шаблон, вы должны сделать это в своем контроллере и передать результат в свой шаблон.

Вот код php, который вы могли бы использовать:

 $now = new DateTime('now'); $dateToCompare = new DateTime('your date'); $difference = $now->format('U') - $dateToCompare->format('U'); // or if your date to compare is in the future : // $difference = $dateToCompare->format('U') - $now->format('U'); $time_diff = gmdate('H',$difference); echo $time_diff;