La gestion des dates est toujours problématique sur Internet. En effet, nous ne sommes pas tous dans les mêmes fuseaux horaires. Nous n’utilisons pas tous les mêmes normes d’affichage (un exemple simple: les anglophones mettent le mois avant le jour … nous: non). Il y a aussi la gestion des heures d’été, la façon d’exprimer le nom d’un fuseau horaire, …
Bref, c’est une joyeuse pagaille ! Sans compter que cette gestion (au niveau système) n’est pas la même en fonction du système d’exploitation qui héberge l’application PHP en question. Voilà pourquoi PHP intègre (depuis 5.1 en expérimental et 5.2 en natif) deux nouveaux objets: DateTimezone et DateTime permettant de gérer les dates proprement et indépendamment de l’OS.
A ce sujet, Julien Pauli vient de publier un tutorial sur Developpez présentant l’utilisation de ces nouveaux objets. Il n’y a rien à redire: ça simplifie grandement la gestion fiable et précise du temps ! Voici un exemple de code:
$date = new DateTime("1819-02-14 10:51"); echo $date->format('D Y-m-d H:i:s - \s\e\m\a\i\n\e W'); // Sun 1819-02-14 10:51:00 - semaine 06 echo $date->format(DateTime::ATOM); // 1819-02-14T10:51:00+00:09 echo $date->format(DateTime::COOKIE); //Sunday, 14-Feb-19 10:51:00 PMT echo $date->format(DateTime::ISO8601); //1819-02-14T10:51:00+0009 echo $date->format(DateTime::RSS); //Sun, 14 Feb 1819 10:51:00 +0009 echo $date->format(DateTime::W3C); //1819-02-14T10:51:00+00:09 echo $date->format(DateTime::RFC3339); //1819-02-14T10:51:00+00:09 |
Bref, un article à lire absolument !
