Fermer

février 2, 2023

Comment gérer les fuseaux horaires en PHP —

Comment gérer les fuseaux horaires en PHP —


Dans cet article de conseil rapide, nous expliquerons les bases de l’utilisation du fuseau horaire en PHP. Travailler avec les fuseaux horaires est une compétence essentielle pour tout programmeur travaillant avec des applications Web. Comme PHP a été principalement utilisé pour les applications Web au fil des ans, il dispose d’un support de fuseau horaire assez simple mais complet.

Fuseaux horaires et PHP

Les fuseaux horaires sont pris en charge en PHP depuis la version 4. Mais ce qui a commencé comme une implémentation de base du date_default_timezone_set() fonction a rapidement évolué dans les versions 5 et 7 avec l’introduction de la DateTimeZone et DateTimeZoneImmutable Des classes.

Les DateTimeZoneImmutable est une sous-classe de DateTimeZone qui permet de créer des fuseaux horaires insensibles aux modifications. Cette fonctionnalité peut être très utile dans les situations où nous devons nous assurer que le fuseau horaire ne change jamais.

Les date_default_timezone_set() La fonction définit le fuseau horaire par défaut utilisé par toutes les fonctions heure/date sur un script donné. Cette fonction permet de configurer le fuseau horaire mais a très peu de granularité, nous obligeant à utiliser le même fuseau horaire pendant toute l’exécution du script.

Les DateTimeZone et DateTimeZoneImmutable les classes ont apporté plus de contrôle et de polyvalence à la manipulation des fuseaux horaires. Nous pouvons désormais accéder à toutes sortes d’informations sur le fuseau horaire ainsi qu’à plusieurs instances de différents fuseaux horaires sur le même script.

Utilisation des fuseaux horaires PHP

Comme indiqué, il existe deux manières principales d’utiliser les fuseaux horaires en PHP.

Utilisation de date_default_timezone_set()

<?php
    date_default_timezone_set('America/LosAngeles');

Fuseaux horaires sur le date_default_timezone_set() sont toujours définies dans les formats « Continent/Ville » ou « Continent/Pays/Ville ». Vous pouvez trouver une liste complète des fuseaux horaires autorisés en PHP ici.

Cela définira le fuseau horaire sur le fuseau horaire passé en argument. Après avoir défini le fuseau horaire, nous pouvons utiliser des fonctions telles que date_default_timezone_get() ou toute autre fonction liée au temps telle que date() pour accéder aux nouvelles informations de fuseau horaire.

Utilisation de la classe DateTimeZone

La meilleure façon d’utiliser les fuseaux horaires en PHP est d’utiliser le DateTimeZone classer. Cela signifie que nous avons accès à plus fonctions pour accéder aux informations et manipuler les fuseaux horaires et nous pouvons instancier plusieurs instances de la classe, ce qui nous permet de travailler avec plusieurs fuseaux horaires :

<?php 
    $timezone = newDateTimeZone('America/Chicago');
    $datetime = new DateTime($date, $timezone);
    echo $datetime->format('Y-m-d H:i:s');

Dans cet exemple, nous créons un nouveau DateTimeZone objet, et en le passant à une nouvelle instance de DateTime. Les DateTime l’objet utilisera alors les informations du DateTimeZone chose. Enfin, nous utilisons le format() fonction pour afficher la date dans le format que nous préférons.

Conclusion

Comme nous l’avons vu, travailler avec les fuseaux horaires en PHP est assez simple. Assurez-vous de choisir la meilleure façon de travailler pour votre cas d’utilisation, et PHP vous couvre !




Source link