Position actuelle: Accueil> Derniers articles> Comment utiliser les méthodes Timezone_Name_get et DateTime :: getoffset pour obtenir le décalage du fuseau horaire de l'heure actuelle?

Comment utiliser les méthodes Timezone_Name_get et DateTime :: getoffset pour obtenir le décalage du fuseau horaire de l'heure actuelle?

M66 2025-06-14

En PHP, l'obtention du décalage du fuseau horaire de l'heure actuelle peut être réalisée grâce à différentes méthodes, où Timezone_name_get et DateTime :: getoffset sont deux moyens couramment utilisés pour obtenir des décalages de fuseau horaire. Dans cet article, nous montrerons comment utiliser les deux méthodes avec des exemples pratiques.

1. Utilisez la méthode Timezone_name_get pour obtenir le décalage du fuseau horaire

Timezone_name_get est une méthode de la classe DateTimeZone qui renvoie le nom du fuseau horaire actuel. Combiné avec l'objet DateTimeZone , nous pouvons facilement obtenir le décalage du fuseau horaire de l'heure actuelle.

 <?php
// Obtenez la date et l&#39;heure actuelles
$date = new DateTime();

// Obtenir DateTime Le fuseau horaire de l&#39;objet
$timezone = $date->getTimezone();

// Obtenir时区名称
$timezone_name = timezone_name_get($timezone);
echo "Nom du fuseau horaire actuel: " . $timezone_name . "\n";

// ObtenirDécalage du fuseau horaire
$offset = $timezone->getOffset($date);
echo "Décalage du fuseau horaire actuel: " . $offset . " Deuxième\n";
?>

expliquer:

  1. Tout d'abord, nous utilisons une nouvelle datetime () pour créer un objet DateTime de l'heure actuelle.

  2. Ensuite, nous utilisons la méthode getTimeZone () pour obtenir les informations de fuseau horaire de l'heure actuelle.

  3. La méthode timezone_name_get () peut être utilisée pour obtenir le nom du fuseau horaire.

  4. Enfin, nous utilisons la méthode getoffset () pour obtenir le décalage du fuseau horaire, qui renvoie un entier représentant l'écart du fuseau horaire actuel par rapport au temps UTC, en secondes.

2. Utilisez la méthode DateTime :: getoffset pour obtenir directement le décalage

DateTime :: getoffset est une méthode de la classe DateTime qui renvoie directement le décalage du fuseau horaire de l'heure actuelle. Cette méthode renvoie un entier indiquant le décalage en secondes du fuseau horaire actuel par rapport à l'UTC.

 <?php
// Obtenez la date et l&#39;heure actuelles
$date = new DateTime();

// ObtenirDécalage du fuseau horaire actuel
$offset = $date->getOffset();
echo "Décalage du fuseau horaire actuel: " . $offset . " Deuxième\n";
?>

expliquer:

  1. Créez un objet DateTime de l'heure actuelle via une nouvelle datetime () .

  2. Utilisez la méthode getoffset () pour obtenir directement le décalage du fuseau horaire de l'heure actuelle, en secondes.

  3. Cette méthode renvoie la différence de fuseau horaire par rapport à l'UTC, qui peut être négative (représentant le fuseau horaire de la zone ouest) ou un positif (représentant le fuseau horaire de la zone est).

3. Choses à noter

  • La valeur renvoyée par la méthode getoffset () est le décalage par rapport à UTC et est en secondes.

  • Les compensations de fuseau horaire peuvent varier selon l'heure d'été (DST), ce qui doit être pris en compte lors de l'obtention de compensations.

  • Si vous devez afficher des décalages de fuseau horaire en heures et minutes, vous pouvez les convertir de la manière suivante:

 <?php
$offset_hours = floor($offset / 3600); // Se convertir en heures
$offset_minutes = abs(floor(($offset % 3600) / 60)); // Se convertir en minutes
echo "Décalage du fuseau horaire: " . $offset_hours . ":" . str_pad($offset_minutes, 2, "0", STR_PAD_LEFT) . "\n";
?>

4. Résumé

PHP fournit un moyen très facile d'obtenir le décalage du fuseau horaire de l'heure actuelle à travers les deux méthodes de Timezone_name_get et DateTime :: getoffset . Que ce soit du point de vue du nom de fuseau horaire ou d'obtenir directement des valeurs de décalage, les deux méthodes peuvent nous aider efficacement à gérer les exigences liées au fuseau horaire. La classe DateTime de PHP et la classe DateTimeZone fournissent un soutien solide pour des problèmes complexes tels que la conversion du fuseau horaire et le réglage de la lumière du jour.