Depuis la version 5.3 de PHP, de nouvelles class de manipulation de date ont fait leur apparition. Comme d'habitude avec de moteur de template, ces classes sont interprétées par Twig d'une manière très simple.
Au lieu des fonctions de base PHP 4 comme date(), time() ou strtotime(), PHP 5.3 nous donne la possibilité d’utiliser les classes DateTime et DateInterval. Nous allons voir ce que cela donne dans Bolt pour calculer une intervalle de temps; avec son moteur de template Twig.
Pour obtenir la date courante, vous pouvez donner à votre chaîne de caractères de votre date
le filtre now
:
{% set startDate = "January 00, 2000 00:00" %}
{% set difference = date( now | date() ).diff(date(startDate)) %}
{% set leftDays = difference.days %}
{% set leftHours = difference.h %}
{% set leftYears = difference.y %}
{{ leftYears }} années.
{{ leftDays }} jours.
{{ leftHours }} heures.
Nota : Ici, la Timezone n'est pas précisée; car elle déjà présente dans la configuration de Bolt. Si elle vous est nécessaire, vous devez la préciser selon le principe suivant (ici la date de publication d'un post de blog) :
{{ post.published_at|date("m/d/Y", "Europe/Paris") }}
L'objet DateTime
de PHP 5.3 a une méthode diff()
qui nous retourne un objet DateInterval
qui le résultat de la différence entre la date courante et startDate
.
L'objet date
de Twig renvoie toujours un objet DateTime
; aussi il est possible d'appeler la méthode diff
pour avoir l'intervalle de temps. Enfin, nous pouvons accéder aux propriétés de l'objet DateInterval
ou le formater avec le filtre de date de Twig.
Commentaires
Poster un commentaire