Maison >développement back-end >Problème PHP >Comment changer de fuseau horaire en php
Comment modifier le fuseau horaire en PHP : 1. Définissez le fuseau horaire par défaut sur East 8 dans le fichier de configuration ; 2. Définissez le fuseau horaire via le code "date_default_timezone_set('Asia/Shanghai');"; "date_default_timezone_set" dans l'en-tête de la page PHP ("PRC');".
L'environnement d'exploitation de ce tutoriel : système Windows 7, PHP version 8.1, ordinateur Dell G3.
Comment changer le fuseau horaire en php ?
Paramètres de fuseau horaire PHP, problèmes d'heure PHP
De nombreux projets Web sont liés au temps, et certains sont très étroitement liés au temps ! Il y a quelque temps, j'ai réalisé un projet de requête de prévisions météorologiques sur 15 jours (http://tqybw.net). La fonction et l'affichage sont très étroitement liés au réglage de l'heure. Je vais maintenant définir le fuseau horaire PHP et expliquer l'heure PHP. en détail. Les étudiants dans le besoin peuvent en tirer des leçons.
L'heure obtenue à partir de la fonction horaire "time()" dans la fonction PHP peut ne pas être l'heure standard de Pékin ! La raison est la suivante : La fonction int time (void) en PHP renvoie le nombre de secondes écoulées depuis l'époque Unix (00:00:00, 1er janvier 1970, heure moyenne de Greenwich) jusqu'à l'heure actuelle.
Chaque région a sa propre heure locale Sur Internet et dans les communications radio, le problème de la conversion de l'heure est particulièrement important. La Terre entière est divisée en vingt-quatre fuseaux horaires, chacun avec sa propre heure locale. Dans les situations de communication radio ou réseau internationale, dans un souci d'unification, une heure unifiée est utilisée, appelée Temps universel coordonné (UTC), qui est une heure standard mondiale fixée par l'étalon horaire mondial. L'UTC était à l'origine également connue sous le nom de Greenwich Mean Time (GMT, Greenwich Mean Time), qui est la même que l'heure locale de Londres, au Royaume-Uni. Le paramètre de fuseau horaire par défaut de
PHP est l’heure UTC, et Pékin est située dans le huitième district est du fuseau horaire, huit heures avant UTC. Par conséquent, lorsque vous utilisez des fonctions telles que time() en PHP pour obtenir l'heure actuelle, l'heure obtenue est toujours fausse, indiquant qu'elle est différente de huit heures de l'heure de Pékin. Si vous souhaitez afficher correctement l'heure de Pékin, vous devez modifier les paramètres de fuseau horaire par défaut, ce qui peut être effectué des deux manières suivantes.
Si vous utilisez un serveur indépendant et avez l'autorisation de modifier le fichier de configuration, la définition du fuseau horaire peut être effectuée en modifiant l'attribut date.timezone dans php.ini. Nous pouvons définir la valeur de cet attribut sur "Asia/Shang", "Asia/Chongqing", "Etc/GMT-8" ou PRC, etc., puis l'heure actuelle obtenue dans le script PHP est l'heure de Pékin. Modifiez le fichier de configuration PHP comme suit :
1.date.timezone = Etc/GMT-8
//Définissez le fuseau horaire par défaut dans le fichier de configuration sur East 8 (heure de Pékin)
Si vous utilisez For serveurs partagés, si vous n'êtes pas autorisé à modifier le fichier de configuration php.ini et que la version de PHP est supérieure à 5.1.0, vous pouvez également appeler la fonction date_default_timezone_set() pour définir le fuseau horaire avant d'afficher l'heure. Cette fonction doit fournir un identifiant de fuseau horaire en tant que paramètre, qui est identique à la valeur de l'attribut date.timezone dans le fichier de configuration. L'utilisation de cette fonction est la suivante :
2. Définissez le fuseau horaire dans le code
date_default_timezone_set('Asia/Shanghai');//'Asia/Shanghai' 亚洲/上海 date_default_timezone_set('Asia/Chongqing');//其中Asia/Chongqing'为“亚洲/重庆” date_default_timezone_set('PRC');//其中PRC为“中华人民共和国”
Remarque : N'importe laquelle des 3 méthodes ci-dessus peut répondre à nos besoins.
3.echo date('Y-m-d H:i:s', time()); //L'heure actuelle est l'heure de Pékin
Dans php.ini, la valeur par défaut est date.timezone = UTC. Modifiez le fuseau horaire de la Chine et modifiez-le en date.timezone = PRC. S'il est écrit directement au format GMT, il s'agit de date.timezone = Etc/GMT+8.
De plus, il peut également être défini dans l'en-tête de la page PHP.
date_default_timezone_set('PRC');
Test :
echo date('Y-m-d H:i:s');
Etude recommandée : "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!