obter uma diferença horária entre duas datas

Gostaria de comparar as duas datas para obter uma diferença de tempo (Dias, Horas, minutos e segundos) em 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 

Como marcar a hora?

Finalmente, entendi … compare as duas datas para obter um tempo (Dias, Horas e minutos) no controlador:

(consulta de doctrine)

 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, 

Criou uma function para TIMESTAMPDIFF https://github.com/beberlei/DoctrineExtensions/blob/master/lib/DoctrineExtensions/Query/Mysql/TimestampDiff.php

e include um snippet

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

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

Obrigado a todos …

Uma vez que você passa o enddate para o seu modelo, você deve fazer isso no seu controlador e passar o resultado para o seu modelo.

Aqui está o código php que você pode usar:

 $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;