Convertir nombres de jours en An Mois Jours
Résolu
Petit_Yio
-
Toto -
Toto -
Bonjour,
J'aimerai convertir un nombre de jours en An Mois Jours dans une vue twig.
Exemple :
Statut expiré depuis {{ jour_Restant - 365 }} jours cela donne : Statut expiré depuis 1828 jours.
Je voudrai que 1828 jours devienne "depuis X an(s) X mois X jour(s).
Je rappelle que je souhaite faire ça en PHP si c'est préférable de le faire dans le contrôleur ou twig si c'est préférable de le faire dans la vue.
J'aimerai convertir un nombre de jours en An Mois Jours dans une vue twig.
Exemple :
Statut expiré depuis {{ jour_Restant - 365 }} jours cela donne : Statut expiré depuis 1828 jours.
Je voudrai que 1828 jours devienne "depuis X an(s) X mois X jour(s).
Je rappelle que je souhaite faire ça en PHP si c'est préférable de le faire dans le contrôleur ou twig si c'est préférable de le faire dans la vue.
A voir également:
- Convertir nombre de jours en année mois et jours excel
- Nombre de jours entre deux dates excel - Guide
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Word et excel gratuit - Guide
- Liste déroulante excel - Guide
- Si et excel - Guide
1 réponse
Salut,
Une solution possible en utilisant le modulo :
Néanmoins cette première solution n'est pas précise (pas de gestion des années bissextile, on considère que tous les mois font 30 jours...).
Une autre solution plus précise est d'utiliser la classe DateTime :
Bonne journée,
Une solution possible en utilisant le modulo :
$nombreJours = 1828; $annees = intval($nombreJours / 365); $jours = intval(($nombreJours % 365)); $mois = intval($jours / 30); echo "$annees annees $mois mois $jours jours";
Néanmoins cette première solution n'est pas précise (pas de gestion des années bissextile, on considère que tous les mois font 30 jours...).
Une autre solution plus précise est d'utiliser la classe DateTime :
$start_date = new DateTime(date("Y/m/d")); $end_date = new DateTime(date("Y/m/d",strtotime("-1828 days"))); $dd = date_diff($start_date,$end_date); echo "$dd->y years $dd->m months $dd->d days";
Bonne journée,
Merci pour la solution en PHP ! Aurais-tu une solution pour twig (côté vue) ?
Années : {{ ($nombreJours / 365)|number_format(0, ',', ' ') }}
Mois : {{ (($nombreJours % 365) / 30)|number_format(0, ',', ' ') }}
Jours : {{ ($nombreJours % 365)|number_format(0, ',', ' ') }}
Pour la solution avec DateInterval, une méthode est proposé ici : http://watermelon-pixels.fr/blog/calculer-une-intervalle-de-temps-avec-twig
Merci