Maison > développement back-end > Problème PHP > Comment convertir l'horodatage en heure dans différents fuseaux horaires en PHP

Comment convertir l'horodatage en heure dans différents fuseaux horaires en PHP

PHPz
Libérer: 2023-03-29 17:42:01
original
1243 Les gens l'ont consulté

PHP est un langage de programmation côté serveur largement utilisé, et sa fonction d'horodatage est très pratique. Cependant, lorsque nous devons prendre en compte différents fuseaux horaires, nous devons ajouter une conversion de fuseau horaire basée sur l'horodatage. Dans cet article, nous verrons comment convertir l'horodatage en heure dans différents fuseaux horaires en PHP.

  1. Comprendre le concept de fuseau horaire

Avant d'effectuer la conversion de l'heure, nous devons clarifier le concept de fuseau horaire. Un fuseau horaire fait référence à la règle selon laquelle tout le monde dans une région utilise la même heure standard. Habituellement, chaque fuseau horaire a une ville représentative, telle que UTC-8 pour le fuseau horaire de Los Angeles.

  1. Obtenir l'horodatage actuel

La fonction permettant d'obtenir l'horodatage actuel en PHP est time(), qui renvoie les secondes entre l'heure actuelle du système et l'heure UTC du 1er janvier 1970, 0:00:00 Différence numérique.

Par exemple :

$timestamp = time();
Copier après la connexion
  1. Convertir vers le fuseau horaire spécifié

Avant de convertir l'horodatage en l'heure du fuseau horaire spécifié, vous devez d'abord déterminer le fuseau horaire cible, puis convertir l'horodatage actuel en l'horodatage de ce fuseau horaire, et enfin utiliser PHP. La fonction date() le formate au format d'heure requis.

Par exemple, convertissez l'horodatage actuel en heure de Pékin (CST) :

$timestamp = time();
$target_timezone = new DateTimeZone('Asia/Shanghai');
$date_time = new DateTime('@' . $timestamp);
$date_time->setTimeZone($target_timezone);
$beijing_time = $date_time->format('Y-m-d H:i:s');
echo $beijing_time;
Copier après la connexion

L'explication de ce code est la suivante :

  • La ligne 1 obtient l'horodatage actuel.
  • La ligne 2 crée un objet DateTimeZone représentant le fuseau horaire cible.
  • La ligne 3 crée un objet DateTime avec l'horodatage actuel comme paramètre.
  • La ligne 4 définit l'objet DateTime sur le fuseau horaire cible.
  • La ligne 5 formate l'objet DateTime en une chaîne au format "Y-m-d H:i:s", c'est-à-dire année-mois-jour heure : minute : seconde.
  • La ligne 6 affiche l'heure de Pékin formatée.
  1. Liste des fuseaux horaires disponibles

Lorsque vous utilisez l'objet DateTimeZone, vous devez transmettre l'identifiant de fuseau horaire correct. Nous pouvons utiliser la méthode statique listIdentifiers() de la classe DateTimeZone pour lister les identifiants de tous les fuseaux horaires disponibles.

Par exemple :

$timezones = DateTimeZone::listIdentifiers();
foreach ($timezones as $timezone) {
    echo $timezone . '<br />';
}
Copier après la connexion

L'explication de ce code est la suivante :

  • La ligne 1 appelle la méthode listIdentifiers() de la classe DateTimeZone, renvoyant un tableau contenant tous les identifiants de fuseau horaire disponibles.
  • Les lignes 2 à 4 utilisent une boucle foreach pour parcourir tous les identifiants de fuseau horaire et les afficher sur la page.

Résumé

Cet article explique comment convertir des horodatages en heures dans différents fuseaux horaires en PHP. Vous devez d’abord comprendre le concept de fuseau horaire, puis utiliser les classes DateTime et DateTimeZone pour effectuer la conversion. En outre, il est recommandé de répertorier tous les identifiants de fuseau horaire disponibles pour faciliter la sélection du fuseau horaire correct. J'espère que cet article sera utile à tous ceux qui apprennent la conversion de temps PHP.

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal