"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Comment convertir l'heure et la date sur plusieurs fuseaux horaires en PHP ?

Comment convertir l'heure et la date sur plusieurs fuseaux horaires en PHP ?

Publié le 2024-11-04
Parcourir:625

How to Convert Time and Date Across Time Zones in PHP?

Convertir l'heure et la date entre les fuseaux horaires en PHP

Conversion de fuseau horaire

Pour convertir l'heure et la date à partir d'une seule heure zone à une autre en PHP, vous pouvez tirer parti de la classe polyvalente DateTime. Il vous permet de manipuler et de convertir les horodatages de manière transparente.

Récupération du décalage horaire GMT

Pour récupérer le décalage horaire par rapport à GMT, explorez les bases de données en ligne telles que la base de données de fuseau horaire (TZDB). ou la base de données des fuseaux horaires de l'IANA (Internet Assigned Numbers Authority) pour une liste complète des fuseaux horaires et de leurs décalages.

Considérations sur l'heure d'été (DST)

Pour tenir compte pour DST, la classe DateTime s'ajuste automatiquement aux transitions de fuseau horaire en fonction des règles spécifiques à la zone.

Implémentation dans la classe PHP

Voici un exemple de création d'un PHP classe pour les conversions de fuseau horaire :

class TimeConverter {
    private $from_timezone;
    private $to_timezone;
    private $datetime;

    public function __construct($timestamp, $from_timezone, $to_timezone) {
        $this->datetime = new DateTime($timestamp);
        $this->from_timezone = new DateTimeZone($from_timezone);
        $this->to_timezone = new DateTimeZone($to_timezone);
    }

    public function convert() {
        $this->datetime->setTimezone($this->to_timezone);
        return $this->datetime->format('Y-m-d H:i:sP');
    }
}

Usage

Pour convertir un horodatage d'un fuseau horaire à un autre, créez une instance de la classe TimeConverter et appelez la méthode convert(). Par exemple :

$converter = new TimeConverter('2023-03-08 14:30:00', 'America/Los_Angeles', 'Asia/Tokyo');
$converted_time = $converter->convert();
echo $converted_time;

Cela affichera l'heure convertie dans le fuseau horaire « Asie/Tokyo », ajustée pour l'heure d'été le cas échéant.

Déclaration de sortie Cet article est réimprimé à l'adresse : 1729644377. En cas d'infraction, veuillez contacter [email protected] pour le supprimer.
Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3