Maison  >  Article  >  développement back-end  >  Comment définir le fuseau horaire mondial en php

Comment définir le fuseau horaire mondial en php

藏色散人
藏色散人original
2021-05-24 09:52:305046parcourir

Comment définir le fuseau horaire mondial en PHP : 1. Définissez "date.timezone" dans le fichier de configuration ; 2. Utilisez la fonction "ini_set()" pour définir le fuseau horaire ; date_default_timezone_set()" pour définir le fuseau horaire.

Comment définir le fuseau horaire mondial en php

L'environnement d'exploitation de cet article : système Windows 7, PHP version 7.1, ordinateur DELL G3

est obtenu grâce aux fonctions de date et d'heure dans Date et heure PHP. Les fonctions de date et d'heure dépendent du réglage de l'heure du serveur. Le réglage de l'heure du serveur est par défaut l'heure de Greenwich (zéro fuseau horaire). Si l'heure n'est pas spécifiquement définie sur un fuseau horaire spécifique, l'heure obtenue via les fonctions PHP pertinentes sera. être l'heure du fuseau horaire zéro. C'est 8 heures de moins que l'heure de Pékin.

Division des fuseaux horaires

Le monde est divisé en 24 fuseaux horaires Chaque fuseau horaire a sa propre heure locale. L'heure locale de chaque fuseau horaire diffère de 1. ~23 secondes en même temps, par exemple, la différence entre l'heure locale de Londres, au Royaume-Uni, et l'heure locale de Pékin est de 8 heures.

Dans le domaine des communications radio internationales, une heure unifiée est utilisée, appelée Temps universel coordonné (UTC). L'UTC est la même que le temps moyen de Greenwich (GMT).

Réglage du fuseau horaire en PHP

En raison de la réécriture de la fonction data() en PHP5.0, la fonction date et heure actuelle est inférieure de 8 heures à l'heure du système. Le paramètre par défaut du langage PHP est l'heure standard de Greenwich (c'est-à-dire que le fuseau horaire zéro est utilisé), donc pour obtenir l'heure locale actuelle, vous devez modifier le paramètre de fuseau horaire dans le langage PHP.

Il existe trois façons de définir le fuseau horaire en PHP. Présentons chacune d'elles ci-dessous.

1) Défini dans le fichier de configuration

Le fichier de configuration de PHP est le fichier php.ini dans le répertoire d'installation de PHP, recherchez-le et ouvrez-le. Recherchez ensuite date.timezone dans le fichier, et nous verrons une information comme indiqué ci-dessous :

[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
;date.timezone =

where; date.timezone = the previous a la même fonction que // en PHP, et les deux ; signifier les commentaires, ici nous devons supprimer cela ; et remplir l'identifiant de fuseau horaire correspondant après = dans cette phrase, comme indiqué ci-dessous :

[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
date.timezone = Asia/Shangha

Il existe de nombreux identifiants de fuseau horaire, accessibles en visitant "https ://www.php.net/manual/zh/timezones.php" pour afficher, la liste suivante répertorie certains identifiants de fuseau horaire couramment utilisés et leur signification :

Asia/Shanghai —— 上海
Asia/Chongqing —— 重庆
Asia/Urumqi —— 乌鲁木齐
Asia/Hong_Kong —— 香港
Asia/Macao —— 澳门
Asia/Taipei —— 台北
Asia/Singapore —— 新加坡
PRC —— 中国时区

Astuce : en Chine, nous définissons le fuseau horaire. sur « Asie/Shanghai ou RPC » est OK. N'oubliez pas de redémarrer le serveur une fois le paramétrage réussi !

[Exemple] Utilisons un morceau de code pour vérifier si nos paramètres sont efficaces.

<?php
    echo date(&#39;Y-m-d H:i:s&#39;,time());
?>

Le résultat de l'exécution est le suivant :

2020-03-26 09:56:52

Si le résultat de l'exécution est égal à l'heure locale de notre ordinateur, cela signifie que notre réglage est réussi.

2) Utilisez la fonction ini_set() pour définir le fuseau horaire

La fonction ini_set() en PHP peut définir la valeur de l'option de configuration spécifiée. Cette option de configuration conservera la nouvelle valeur. lorsque le script est en cours d'exécution et Reprendre à la fin du script. Le format de syntaxe de la fonction est le suivant :

ini_set($varname, $newvalue)

où $varname est l'option de configuration à modifier, et $newvalue est la nouvelle valeur de l'option de configuration.

Conseils : La fonction ini_set() ne peut pas modifier toutes les options de configuration. Vous pouvez consulter les configurations qui peuvent être modifiées en visitant "https://www.php.net/manual/zh/ini.list.php. "options.

【Exemple】Utilisez la fonction ini_set() pour définir le fuseau horaire.

<?php
    ini_set(&#39;date.timezone&#39;, &#39;GMT&#39;);
    echo &#39;当前的格林尼治时间为:&#39;.date(&#39;Y-m-d H:i:s&#39;,time()).&#39;<br>&#39;;
    ini_set(&#39;date.timezone&#39;, &#39;Asia/Urumqi&#39;);
    echo &#39;乌鲁木齐的当前时间为:&#39;.date(&#39;Y-m-d H:i:s&#39;,time()).&#39;<br>&#39;;
    ini_set(&#39;date.timezone&#39;, &#39;Asia/Shanghai&#39;);
    echo &#39;上海的当前时间为:&#39;.date(&#39;Y-m-d H:i:s&#39;,time());
?>

Les résultats en cours sont les suivants :

当前的格林尼治时间为:2020-03-26 02:37:31
乌鲁木齐的当前时间为:2020-03-26 08:37:31
上海的当前时间为:2020-03-26 10:37:31

3) Utilisez la fonction date_default_timezone_set() pour définir le fuseau horaire

La fonction date_default_timezone_set() en PHP peut être définie pour toutes les fonctions d'heure et de date dans le script Un fuseau horaire par défaut avec la syntaxe suivante :

date_default_timezone_set($timezone_identifier)

Le paramètre $timezone_identifier est l'identifiant du fuseau horaire, tel que UTC (Greenwich Mean Time) ou Europe/Lisbonne (Portugal) .

Depuis PHP5.1.0 (la fonction date et heure a été réécrite dans cette version), si le fuseau horaire est illégal, chaque appel à la fonction date et heure générera un message d'erreur de niveau E_NOTICE si vous l'utilisez. le paramètre système ou la variable d'environnement TZ génère également des informations de niveau E_STRICT.

【Exemple】Utilisez la fonction date_default_timezone_set() pour définir le fuseau horaire.

<?php
    date_default_timezone_set(&#39;Asia/Urumqi&#39;);
    echo &#39;乌鲁木齐的当前时间为:&#39;.date(&#39;Y-m-d H:i:s&#39;,time()).&#39;<br>&#39;;
    date_default_timezone_set(&#39;Europe/Lisbon&#39;);
    echo &#39;葡萄牙的当前时间为:&#39;.date(&#39;Y-m-d H:i:s&#39;,time()).&#39;<br>&#39;;
    date_default_timezone_set(&#39;Asia/Shanghai&#39;);
    echo &#39;上海的当前时间为:&#39;.date(&#39;Y-m-d H:i:s&#39;,time());
?>

Les résultats en cours d'exécution sont les suivants :

乌鲁木齐的当前时间为:2020-03-26 08:35:59
葡萄牙的当前时间为:2020-03-26 02:35:59
上海的当前时间为:2020-03-26 10:35:59

Apprentissage recommandé : "Tutoriel vidéo 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!

Déclaration:
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