Maison  >  Article  >  développement back-end  >  Comment changer de fuseau horaire en php

Comment changer de fuseau horaire en php

藏色散人
藏色散人original
2022-01-12 11:20:357649parcourir

Comment changer le fuseau horaire en php : 1. Recherchez date.timezone dans le fichier de configuration et définissez le fuseau horaire ; 2. Utilisez la fonction ini_set() pour définir le fuseau horaire ; définir le fuseau horaire.

Comment changer de fuseau horaire en php

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

Comment changer le fuseau horaire en PHP ?

En PHP, la date et l'heure s'obtiennent via date et les fonctions temporelles. 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 heures en même temps. différence entre l'heure locale de Londres, Royaume-Uni et l'heure locale de Pékin 8 heures.

Dans le domaine des communications radio internationales, une heure unifiée est utilisée, appelée Temps universel coordonné (UTC). 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 signifient des commentaires ici. nous devons Supprimer ceci ; 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, vous pouvez visiter "https://www.php.net/manual/zh / timezones.php" pour afficher. Voici quelques identifiants de fuseau horaire couramment utilisés et leurs significations :

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

Conseils : En Chine, nous pouvons définir le fuseau horaire sur "Asie/Shanghai ou RPC". N'oubliez pas de redémarrer le serveur après le le réglage est réussi !

【Exemple】Ce qui suit est 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 course est le suivant :

2020-03-26 09:56:52

Si le résultat de course 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 sera restauré à 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 options de configuration qui peuvent être modifiées en visitant "https://www.php.net/manual/zh/ini.list.php".

【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 définir un fuseau horaire par défaut pour toutes les fonctions d'heure et de date dans le script. Le format de syntaxe est le suivant :

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/Lisbon (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 le paramètre système ou l'environnement TZ. variable est utilisée, des messages de niveau E_STRICT sont également générés.

【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