Manipuler les dates en PHP est souvent problématique et lorsqu’on doit gérer les formats pour plusieurs langues ça devient un vrai casse tête.
Heureusement, Symfony joue son rôle de framework en nous facilitant beaucoup les choses.
Voici comment gérer facilement les calculs et l’affichage des dates avec Symfony.
Tag - date
mardi, juin 15 2010
Manipuler les dates en PHP avec symfony
Par jaycreation le mardi, juin 15 2010, 11:54 - php
samedi, mai 8 2010
dateOp(), manipulez facilement vos dates en php grace à la POO
Par jaycreation le samedi, mai 8 2010, 12:04 - php
Cette classe permet la manipulation aisée des dates.
Réalisée à l'origine par wikistuce (http://www.wikistuce.info/doku.php/php/classe/operation_sur_les_dates) afin de permettre une manipulation plus facile des dates avec PHP.
J'y ai ajouté des fonctionnalités.
Vous pouvez désormais, en plus des possibilités de base,
- modifier indépendamment, les jours, les mois, les années les heures ou les minutes de votre date.
ex : $madate = new dateOp(‘15/01/1980’, jj/mm/aaaa) ;
$madate->setAnnees(‘2010’);
$madate->GetDate(’ jj/mm/aaaa’) ; //renvoie : 15/01/2010
- Comparer les dates dans des conditions directes. Ex :
ex : $madate = new dateOp(‘15/01/1980’, jj/mm/aaaa) ;
$madate->esAnterieurA(‘22/10/19210’, jj/mm/aaaa) //renvoie true ou false
Vous avez à disposition les méthodes : esPosterieurA, esAnterieurA, esEgaleA, esPosterieurOuEgaleA, esAnterieurOuEgaleA
Vous pouvez enfin comparer simplement une date de naissance à une autre date pour savoir si l’anniversaire d’une personne est passé présent ou à venir cette année :
ex : $madate = new dateOp(date(‘d/m/Y’), jj/mm/aaaa) ;
$madate = new dateOp(date(‘d/m/Y’), jj/mm/aaaa) ; $madate ->anniversaire(‘25/15/1980’,"jj/mm/aaaa") ; /* renvoie : ‘today‘ si l'anniversaire est aujourd'hui * ‘apres si l'anniversaire n'est pas encore passé * ‘passe’ si l'anniversaire est déjà passé */
Le reste de la documentation est disponible à l’adresse : http://www.wikistuce.info/doku.php/php/classe/operation_sur_les_dates
N’hésitez pas à me faire part de vos remarques, de vos besoins d’amélioration, ou des améliorations dont vous avez besoin.