Heim > Backend-Entwicklung > PHP-Problem > Was soll ich tun, wenn die in PHP angezeigte Zeit von der tatsächlichen Zeit abweicht?

Was soll ich tun, wenn die in PHP angezeigte Zeit von der tatsächlichen Zeit abweicht?

青灯夜游
Freigeben: 2023-03-12 11:38:01
Original
1992 Leute haben es durchsucht

Lösung: 1. Verwenden Sie „ini_set(‘date.timezone‘,‘PRC‘)“, um die Zeitzone festzulegen. 2. Verwenden Sie „date_default_timezone_set(‘PRC‘)“, um die Zeitzone festzulegen , stellen Sie „Datum. Zeitzone=PRC“ ein.

Was soll ich tun, wenn die in PHP angezeigte Zeit von der tatsächlichen Zeit abweicht?

Die Betriebsumgebung dieses Tutorials: Windows 7-System, PHP-Version 7.1, DELL G3-Computer

In PHP stimmt die angezeigte Zeit nicht mit der tatsächlichen Zeit überein, da die Zeitzoneneinstellung falsch ist.

Die Welt ist in 24 Zeitzonen unterteilt, und jede Zeitzone hat ihre eigene Ortszeit. Die Ortszeit jeder Zeitzone unterscheidet sich beispielsweise um 1 bis 23 Stunden. und die Ortszeit in Peking unterscheiden sich um 8 Stunden.

Wenn Sie die angezeigte Zeit auf die tatsächliche Zeit einstellen möchten, müssen Sie die Zeitzone auf die lokale Zeitzone einstellen. Hier sind einige gängige Zeitzonenkennungen und ihre Bedeutung:

  • Asien/Shanghai —— Shanghai

  • Asien/Chongqing —— Chongqing

  • Asien/Urumqi —— Ürümqi

  • Asien/Hong_Kong —— Hongkong

  • Asien/Macau —— Macau

  • Asien/ Taipei – Taipei

  • Asien/Singapur – Singapur

  • PRC – China Zeitzone

Hinweis: In China können wir die Zeitzone auf „Asien/Shanghai“ einstellen > oder PRC". Denken Sie nach erfolgreicher Einrichtung daran, den Server neu zu starten! Asia/Shanghai 或者 PRC”都可以,设置成功之后记得重启一下服务器!

下面看看设置时区的方法:

方法1:使用 ini_set() 函数设置时区

PHP 中的 ini_set() 函数可以设置指定配置选项的值,这个配置选项会在脚本运行时保持新的值,并在脚本结束时恢复。函数的语法格式如下:

ini_set($varname, $newvalue)
Nach dem Login kopieren

其中 $varname 为待修改的配置选项,$newvalue 为配置选项的新值。

示例:

<?php
header("Content-type:text/html;charset=utf-8"); 
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;PRC&#39;);
echo &#39;国内当前时间为:&#39;.date(&#39;Y-m-d H:i:s&#39;,time());
?>
Nach dem Login kopieren

输出结果:

Was soll ich tun, wenn die in PHP angezeigte Zeit von der tatsächlichen Zeit abweicht?

方法2:使用 date_default_timezone_set() 函数设置时区

PHP 中的 date_default_timezone_set() 函数可以为脚本中的所有时间日期函数设置一个默认时区,其语法格式如下:

date_default_timezone_set($timezone_identifier)
Nach dem Login kopieren

参数 $timezone_identifier 为时区标识符,例如 UTC(格林尼治时间)或 Europe/Lisbon(葡萄牙)。

自 PHP5.1.0 起(此版本日期时间函数被重写了),如果时区不合法则每个对日期时间函数的调用都会产生一条 E_NOTICE 级别的错误信息,如果使用系统设定或 TZ 环境变量则还会产生 E_STRICT 级别的信息。

示例:

<?php
header("Content-type:text/html;charset=utf-8"); 
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;PRC&#39;);
echo &#39;国内当前时间为:&#39;.date(&#39;Y-m-d H:i:s&#39;,time());
?>
Nach dem Login kopieren

输出结果:

Was soll ich tun, wenn die in PHP angezeigte Zeit von der tatsächlichen Zeit abweicht?

方法3:在配置文件php.ini中设置

PHP 的配置文件就是在 PHP 安装目录下的 php.ini 文件,找到并打开它。然后在文件中搜索date.timezone,我们会看到如下所示的一段信息:

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

其中;date.timezone =前面的;与 PHP 中的//功能相同,都是注释的意思,这里我们需要将这个;去掉,并在这一句的=

Sehen wir uns an, wie man die Zeitzone einstellt:

Methode 1: Verwenden Sie die Funktion ini_set(), um die Zeitzone festzulegen

🎜🎜Die Funktion ini_set() In PHP können Sie den Wert der angegebenen Konfigurationsoptionen festlegen. Diese Konfigurationsoption behält den neuen Wert bei, während das Skript ausgeführt wird, und stellt ihn wieder her, wenn das Skript endet. Das Syntaxformat der Funktion lautet wie folgt:
🎜
[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
date.timezone = PRC
Nach dem Login kopieren
🎜wobei $varname die zu ändernde Konfigurationsoption und $newvalue der neue Wert der Konfigurationsoption ist. 🎜🎜Beispiel:
🎜rrreee🎜Ausgabeergebnis:
🎜🎜Was soll ich tun, wenn die in PHP angezeigte Zeit von der tatsächlichen Zeit abweicht?🎜🎜🎜Methode 2: Verwenden Sie die Funktion date_default_timezone_set(), um die Zeitzone festzulegen🎜🎜🎜Die Funktion date_default_timezone_set() in PHP kann einen Standardwert für alle Uhrzeiten festlegen Datumsfunktionen im Skript Zeitzone, das Syntaxformat ist wie folgt: 🎜rrreee🎜Der Parameter $timezone_identifier ist die Zeitzonenkennung, z. B. UTC (Greenwich Mean Time) oder Europa/Lissabon (Portugal). 🎜🎜Seit PHP5.1.0 (die Datums- und Uhrzeitfunktion wurde in dieser Version neu geschrieben) generiert jeder Aufruf der Datums- und Uhrzeitfunktion eine Fehlermeldung auf E_NOTICE-Ebene, wenn die Systemeinstellung oder die TZ-Umgebung ungültig ist Wenn die Variable verwendet wird, werden auch Nachrichten auf E_STRICT-Ebene generiert. 🎜🎜Beispiel: 🎜rrreee🎜Ausgabeergebnis: 🎜🎜Was soll ich tun, wenn die in PHP angezeigte Zeit von der tatsächlichen Zeit abweicht?🎜🎜🎜Methode 3: Legen Sie in der Konfigurationsdatei php.ini fest. 🎜🎜🎜Die Konfigurationsdatei von PHP ist die Datei php.ini im PHP-Installationsverzeichnis. Suchen und öffnen Sie sie. Suchen Sie dann in der Datei nach date.timezone. Wir sehen eine Information wie unten gezeigt: 🎜rrreee🎜wobei ;date.timezone =Der vorherige ; derselbe ist wie der in PHP hat // die gleiche Funktion und bedeutet einen Kommentar. Hier müssen wir diesen entfernen und die entsprechende Zeitzonenkennung nach = in diesen Satz einfügen , wie unten gezeigt:🎜rrreee🎜🎜Erweitertes Wissen: Zeitzonenkennungen, die in Asien eingestellt werden können🎜🎜
Asien/Aden Asien/Almaty Asien/Amman Asien/Anadyr
Asien/Aqtau Asien/Aqtobe Asien/Ashgabat Asien/ Atyrau
Asien/ Bagdad Asien/Bahrain Asien/Baku Asien/Bangkok
Asien/Barnaul Asien/Beirut Asien/Bischkek Asien/Brunei
Asien/Chita Asien/Choibalsan Asien/Colombo Asien/Damaskus
Asien/Dhaka Asien/Dili Asien/Dubai Asien/Dushanbe
Asien/Famagusta Asien/Gaza Asien/Hebron Asien/Ho_Chi_Minh
Asien/Hong_Kong Asien/Hovd Asien/Irkutsk Asien/Jakarta
Asien/Jayapura Asien/Jerusalem Asien/Kabul Asien/Kamtschatka
Asien/Karachi Asien/Kathmandu Asien/Khandyga Asien/Kolkata
Asien/Krasnojarsk Asien/Kuala_Lumpur Asien/Kuching Asien/Ku warte
Asien/Macau Asien/Magadan Asien/Makassar Asien/Manila
Asien/Maskat Asien/Nikosia Asien/Nowokusnezk Asien/Nowosibirsk
Asien/Omsk Asien/Oral Asien/Phnom_Penh Asien/Pontianak
Asien/Pjöngjang Asien/Katar Asien/Qostanay Asien/Qyzylorda
Asien/Riad Asien/Sachalin Asien/Samarkand Asien/Seoul
Asien/Shanghai Asien/Singapur Asien/Srednekolymsk Asien/Taipeh
Asien/Taschkent Asien/Tiflis A sia/Teheran Asien/Thimphu
Asien/Tokio Asien/Tomsk Asien/Ulaanbaatar Asien/Urumqi
Asien/Ust-Nera Asien/Vientiane Asien/Wladiwostok A sia/Jakutsk
Asien/Yangon Asien/Jekaterinburg Asien/Eriwan  

推荐学习:《PHP视频教程

Das obige ist der detaillierte Inhalt vonWas soll ich tun, wenn die in PHP angezeigte Zeit von der tatsächlichen Zeit abweicht?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage