Maison >développement back-end >tutoriel php >Comment générer une liste déroulante de fuseaux horaires avec PHP ?
La plupart des sites Web ont besoin d'un moyen d'afficher les dates dans le fuseau horaire préféré d'un utilisateur. Vous trouverez ci-dessous deux listes de fuseaux horaires pouvant être utilisés, ainsi qu'une méthode utilisant la classe PHP DateTime intégrée disponible dans PHP 5 et versions ultérieures.
Utilisation de listes de fuseaux horaires codées en dur
Cette méthode consiste à créer manuellement des listes de fuseaux horaires, soit sous forme de valeurs dans HTML
<code class="html"><option value="-12">(GMT - 12) Baker Island Time</option> <option value="-11">(GMT - 11) Niue Time, Samoa Standard Time</option></code>
Cette méthode est simple et peut être utilisée sans bibliothèque ni code supplémentaire. Cependant, la maintenance de la liste peut prendre beaucoup de temps à mesure que de nouveaux fuseaux horaires sont ajoutés ou supprimés. De plus, savoir quels fuseaux horaires sont pertinents pour le pays de l'utilisateur peut être difficile.
Utilisation des fonctions de date et d'heure PHP
PHP fournit plusieurs fonctions et objets qui peuvent être utilisés pour gérer les fuseaux horaires. La classe DateTimeZone vous permet de créer un objet fuseau horaire et d'accéder à son décalage depuis UTC. La classe DateTime vous permet de créer un objet date et de définir son fuseau horaire. En utilisant ces classes, vous pouvez générer dynamiquement une liste déroulante de fuseaux horaires.
<code class="php">$timezones = DateTimeZone::listAbbreviations(); foreach ($timezones as $tz) { $name = $tz['timezone_id']; $offset = $tz['offset']; echo "<option value=\"$name\">$name (UTC $offset)</option>"; }</code>
Cette méthode est plus flexible que l'utilisation de listes codées en dur. Il peut récupérer la liste actuelle des fuseaux horaires à partir de l'installation de PHP et s'adapter automatiquement aux changements d'heure d'été. Cependant, sa mise en œuvre nécessite plus de code et peut ne pas être aussi bien prise en charge sur les anciennes versions de PHP.
Quelle méthode est la meilleure ?
La meilleure méthode pour générer une liste déroulante de fuseaux horaires dépend des exigences spécifiques de l'application. Si la liste des fuseaux horaires est petite et peu susceptible de changer, l'utilisation de valeurs codées en dur peut suffire. Si la liste est volumineuse ou dynamique, utiliser la classe DateTimeZone ou la classe DateTime peut être un meilleur choix.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!