Twig date de différence
J'ai une entité avec une date de début et une date de fin.
Est-il possible d'obtenir la différence de temps entre eux par l'utilisation de twig?
OriginalL'auteur Stefan Braspenning | 2013-03-27
Vous devez vous connecter pour publier un commentaire.
Depuis PHP 5.3, Il y a une autre option, sans écrire une extension.
Cet exemple montre comment calc le pluriel jour/jours
Explication:
PHP 5.3
DateTime
objet adiff()
méthode qui retourne unDateInterval
objet avec le résultat de la différence entreendDate
etbeginDate
Twig
Twig
date
fonction retourne toujours unDateTime
objet, nous pouvons donc appelerdiff
méthodeEnfin, nous pouvons accéder aux propriétés de l'
DateInterval
de l'objet ou de la formater avec le Rameaudate
filtre.Remarque: Il n'est pas nécessaire de les envelopper
endDate
oustartDate
avec ledate
fonction si la variable est déjà unDateTime
objet.Note2:
DateTime
est utilisé ici comme synonyme deDateTimeInterface
.{% set leftDays = difference.days %}
Pour obtenir la date de naissance {{ date().diff(date(item.de naissance)).y }}
Mais quelle que soit la position à la fois de la date de début et date de fin, résultat en une seule journée. Comment déterminez-vous si il est un jour à gauche (+1), ou un jour de plus (-1)???
Génial mec. Vous êtes une brindille gourou
OriginalL'auteur Maks3w
Il n'y a pas de fonction intégrée pour le faire, mais vous pouvez facilement faire vous-même, l'extension twig est facile!
Le rapide n'easy façon est de le faire avec twig est simple fonction de classe:
Réutilisables consiste à créer une extension twig (documenté sur le même lien). C'est toujours facile.
OriginalL'auteur Maerlyn
Aussi remarque il existe une Date de l'extension de Sensio Labs qui offrent un time_diff filtre.
Alors vous pouvez l'utiliser comme ceci:
{{ entity.ending_date|time_diff(entity.starting_date) }}
OriginalL'auteur Vincent Pazeller