timezone_identifiers_list()
Introduction
Les identifiants de fuseau horaire PHP sont des chaînes de caractères utilisées pour spécifier un fuseau horaire pour une date ou une heure donnée. Ils suivent le format Area/Location (par ex. America/New_York, Europe/London) et sont basés sur la base de données des fuseaux horaires IANA. Ces identifiants peuvent être utilisés avec la fonction date_default_timezone_set() pour définir le fuseau horaire par défaut d'un script, ou avec la classe DateTimeZone pour créer un nouvel objet fuseau horaire.
La fonction timezone_identifiers_list() renvoie un tableau contenant tous les identifiants de fuseau horaire pris en charge. Cela est utile pour générer des menus déroulants ou valider les saisies utilisateur.
Comment utiliser timezone_identifiers_list() en PHP ?
<?php
$identifiers = timezone_identifiers_list();
print_r($identifiers);La fonction renvoie un tableau indexé numériquement contenant des chaînes comme Africa/Abidjan, America/New_York, Asia/Tokyo, etc. Vous pouvez parcourir ce tableau pour afficher les fuseaux horaires disponibles :
<?php
foreach (timezone_identifiers_list() as $tz) {
echo $tz . "\n";
}Pour appliquer l'un de ces identifiants, passez-le à date_default_timezone_set() ou new DateTimeZone(). Par exemple, pour définir le fuseau horaire sur l'heure normale de l'Est (EST), utilisez le code suivant :
Comment utiliser un identifiant de fuseau horaire en PHP ?
<?php
date_default_timezone_set('America/New_York');Alternativement, vous pouvez utiliser la classe DateTimeZone pour créer un nouvel objet fuseau horaire et spécifier l'identifiant en tant que paramètre. Par exemple :
Comment utiliser la classe DateTimeZone en PHP ?
<?php
$timezone = new DateTimeZone('Asia/Tokyo');Cela crée un nouvel objet fuseau horaire pour le fuseau Asia/Tokyo.
Il est important de noter que certains identifiants de fuseau horaire peuvent ne pas être pris en charge sur tous les systèmes ou peuvent être dépréciés. Pour garantir la compatibilité et la précision, nous recommandons d'utiliser la base de données des fuseaux horaires maintenue par l'Internet Assigned Numbers Authority (IANA).
En plus des identifiants de fuseau horaire standard, PHP prend également en charge les fuseaux horaires personnalisés. Ceux-ci peuvent être spécifiés à l'aide d'un décalage UTC. Par exemple, pour spécifier un décalage UTC de -8 heures, vous pouvez utiliser le code suivant :
Exemple de fuseaux horaires personnalisés en PHP
<?php
$timezone = new DateTimeZone('-08:00');Cela crée un nouvel objet fuseau horaire avec un décalage UTC de -8 heures.
Dans l'ensemble, timezone_identifiers_list() offre un moyen puissant et flexible de gérer les fuseaux horaires dans vos applications PHP. En utilisant l'identifiant correct pour votre région, vous pouvez garantir des calculs de temps précis et cohérents sur tous vos systèmes.
Practice
Which of the following is a valid timezone identifier in PHP?