Afficher la date et l'heure selon le fuseau horaire en PHP

Subodh Poudel 21 juin 2022
Afficher la date et l'heure selon le fuseau horaire en PHP

Le fuseau horaire varie selon le lieu. Cet article nous apprendra comment afficher l’heure et la date selon le fuseau horaire en PHP.

Utilisez la classe DateTime pour afficher l’heure et la date selon le fuseau horaire en PHP

PHP fournit une puissante classe DateTime pour gérer les opérations de date et d’heure. Nous pouvons définir l’heure et la date à l’aide de la classe DateTime.

La classe renvoie une instance qui contient la date, le type de fuseau horaire et le fuseau horaire. La fonction constructeur de la classe prend deux paramètres.

Le premier paramètre est la chaîne date/heure. Le paramètre doit être dans un format valide défini par PHP.

Nous pouvons également utiliser la chaîne now pour obtenir la date/heure actuelle si nous utilisons le paramètre fuseau horaire comme deuxième paramètre. Le deuxième paramètre est le fuseau horaire.

Nous pouvons utiliser l’instance de la classe DateTimeZone pour obtenir le fuseau horaire spécifique. Nous pouvons définir le fuseau horaire comme paramètre du constructeur de la classe DateTimeZone.

Seul le fuseau horaire prédéfini par PHP peut être utilisé. L’utilisation de la classe DateTime avec ces paramètres obtiendra la date/heure actuelle en fonction du fuseau horaire.

Par exemple, créez une fonction display_dateTime() avec un paramètre $timezone. A l’intérieur de la fonction, créez un objet de la classe DateTime.

Utilisez "now" comme premier paramètre et créez une instance de la classe DateTimeZone() comme deuxième paramètre. Fournissez la variable $timezone comme paramètre de la classe DateTimeZone().

Appelez ensuite la méthode format() de la classe DateTime et fournissez le format sous la forme d-m-Y, H:i:s. Utilisez la fonction echo pour l’imprimer.

En dehors de la fonction, appelez la fonction plusieurs fois avec des fuseaux horaires différents.

Utilisez les fuseaux horaires Asia/Kathmandu, Asia/Tokyo et Europe/Madrid comme arguments de la fonction. Ces fuseaux horaires doivent être une chaîne.

Exemple de code :

function display_dateTime($timezone){
    $date = new DateTime("now", new DateTimeZone($timezone));
    $timezone = explode('/',$timezone);
    echo $timezone[1].": ".$date->format('d-m-Y, H:i:s')."<br>";
}

display_dateTime('Asia/Kathmandu');
display_dateTime('Asia/Tokyo');
display_dateTime('Europe/Madrid');

Nous avons coupé le nom de la ville dans l’exemple ci-dessus en utilisant la fonction explode(). Nous avons utilisé la barre oblique / comme séparateur.

Par exemple, "Asia/Kathmandu" sera formé comme ["Asia, Kathmandu"] sous la forme d’un tableau. Nous avons extrait le premier index du tableau pour obtenir uniquement le nom de la ville.

De ce fait, on peut voir les horaires différents selon les fuseaux horaires.

Production:

Kathmandu: 07-06-2022, 11:27:35
Tokyo: 07-06-2022, 14:42:35
Madrid: 07-06-2022, 07:42:35

De cette façon, nous pouvons régler l’heure et la date en fonction des fuseaux horaires à l’aide de la classe DateTime de PHP.

Subodh Poudel avatar Subodh Poudel avatar

Subodh is a proactive software engineer, specialized in fintech industry and a writer who loves to express his software development learnings and set of skills through blogs and articles.

LinkedIn

Article connexe - PHP Date

Article connexe - PHP Timezone