Comparer deux dates avec TWIG

Lors du développement d’un projet, il est fréquent de devoir comparer deux dates. Grâce à TWIG, c’est très pratique de manipuler les objets mais aussi d’en faire autant avec les dates, et ceci sensiblement de la même manière qu’avec PHP et sa fonction date();

Voici la syntaxe TWIG à utiliser dans un template :

{% if "now"|date('Ymd')  > evenement.date|date('Ymd') %}
   Mon évènement est terminé
{% else %}
   Mon évènement est à venir / en cours
{% endif %}

Attention à bien vérifier l’ordre ‘Ymd’ comme paramètre de date(), en étant étourdi on arrive vite à des résultats improbables : 20121005 (YearMonthDay) n’est pas égal à 05102012 (DayMonthYear).

De même que date(‘Ymd’) n’est pas égal à date(‘Y m d’).

A propos de François Deléglise

Attiré par le multimédia depuis de nombreuses années, j'ai découvert le référencement lors d'un stage de fin d'études en IUT GEii (Lyon, 2008), je suis passionné par le SEO depuis cette date. Je suis diplômé en développement Web (licence MIW de Gap, 2010) et en gestion de projet (Master2 Ingémédia, Toulon, 2012).

Depuis la fin de mes études, je travaille avec l'équipe de Wanadev (Lyon) en tant que chef de projet, développeur symfony2 et référenceur.

3 thoughts on “Comparer deux dates avec TWIG

  1. Erynn says:

    Bonjour,

    Merci de votre réponse très claire et très efficace, cependant j’aurais aimé pouvoir comparer non seulement la date d’un événement, mais aussi son heure par rapport à la date et l’heure courante, ceci est-il possible ?

    Merci.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Vous pouvez utiliser ces balises et attributs HTML : <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="" cssfile="">