Heim  >  Artikel  >  Backend-Entwicklung  >  So lösen Sie die falsche Zeitzone in PHP

So lösen Sie die falsche Zeitzone in PHP

青灯夜游
青灯夜游Original
2023-02-02 19:09:433850Durchsuche

Lösung: 1. Setzen Sie in der php.ini-Datei „date.timezone = „time Zone Identifier““, um die Zeitzone zu konvertieren php-Datei ');"-Anweisung zum Konvertieren der Zeitzone; 3. Verwenden Sie die Anweisung "date_default_timezone_set("time Zone Identifier");" in der PHP-Datei, um die Zeitzone zu konvertieren.

So lösen Sie die falsche Zeitzone in PHP

Die Betriebsumgebung dieses Tutorials: Windows7-System, PHP8-Version, DELL G3-Computer

Zeit ist im Leben von entscheidender Bedeutung, und das gilt auch für PHP. Manchmal muss Zeit gespeichert werden, um etwas aufzuzeichnen oder anzuzeigen im Gerät.

Der Grund, warum die PHP-Zeitzone falsch ist

In PHP werden Datum und Uhrzeit über Datums- und Uhrzeitfunktionen ermittelt. Die Datums- und Zeitfunktionen hängen von der Zeiteinstellung des Servers ab. Die Zeiteinstellung des Servers ist standardmäßig auf die Greenwich-Zeit (Null-Zeitzone) eingestellt. Wenn die Zeit nicht speziell auf eine bestimmte Zeitzone eingestellt ist, wird die Zeit verwendet, die über die entsprechenden PHP-Funktionen ermittelt wird Es handelt sich um die Zeitzone Null. Es sind 8 Stunden weniger als die Pekinger Zeit.

Aufgrund des Umschreibens der data()-Funktion in PHP5.0 ist die aktuelle Datums- und Uhrzeitfunktion 8 Stunden kürzer als die Systemzeit. Die Standardeinstellung der PHP-Sprache ist die Standard-Greenwich-Zeit (d. h. es wird die Zeitzone Null verwendet). Um die aktuelle Ortszeit zu erhalten, kann sie daher von der Ortszeit abweichen. Die Zeitzoneneinstellung in der PHP-Sprache muss geändert werden.

So stellen Sie die Zeitzone in PHP ein

Es gibt drei Möglichkeiten, die Zeitzone in PHP festzulegen. Nachfolgend stellen wir Ihnen jede vor.

1) In der Konfigurationsdatei festlegen

PHPs Konfigurationsdatei ist die Datei php.ini im PHP-Installationsverzeichnis. Suchen und öffnen Sie sie. Suchen Sie dann in der Datei nach date.timezone, date.timezone

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

ersetzen Sie den ; vor ;date.timezone = durch den / / in PHP hat die gleiche Funktion und bedeutet einen Kommentar. Hier müssen wir diesen ; entfernen und die entsprechende Zeitzonenkennung nach dem = in diesem Satz einfügen, wie unten gezeigt:

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

Einige häufig verwendete Zeitzonenkennungen und ihre Bedeutung:
  • Asien/Shanghai —— Shanghai
  • Asien/Chongqing —— Chongqing
  • Asien/Urumqi —— Urumqi
  • Asien/Hong_Kong — — Hongkong
  • Asien/Macau —— Macau

  • Asien/Taipeh —— Taipeh

  • Asien/Singapur —— Singapur

  • PRC —— China Zeitzone

Im Inland, Wir werden die Zeitzone auf „Asien/Shanghai oder China“ einstellen. Denken Sie daran, den Server nach erfolgreicher Einstellung neu zu starten!

2) Verwenden Sie die Funktion ini_set(), um die Zeitzone festzulegen.

Die Funktion ini_set() in PHP kann den Wert der angegebenen Konfigurationsoption festlegen. Diese Konfigurationsoption behält den neuen Wert bei, wenn das Skript ausgeführt wird , und wird wiederhergestellt, wenn das Skript endet. Das Syntaxformat der Funktion lautet wie folgt:

ini_set($varname, $newvalue)

wobei $varname die zu ändernde Konfigurationsoption und $newvalue der neue Wert der Konfigurationsoption ist.

Tipps: Die Funktion ini_set() kann nicht alle Konfigurationsoptionen ändern. Sie können die Konfigurationsoptionen anzeigen, die geändert werden können, indem Sie „https://www.php.net/manual/zh/ini.list.php“ besuchen.

【Beispiel】Verwenden Sie die Funktion ini_set(), um die Zeitzone festzulegen.

<?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;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());
?>

Die laufenden Ergebnisse sind wie folgt:

So lösen Sie die falsche Zeitzone in PHP

3) Verwenden Sie die Funktion date_default_timezone_set(), um die Zeitzone festzulegen.

Die Funktion date_default_timezone_set() in PHP kann eine Standardzeitzone für alle Uhrzeiten und Datumsangaben festlegen Das Syntaxformat lautet wie folgt:

date_default_timezone_set($timezone_identifier)

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 Wird die Variable verwendet, werden auch Meldungen auf E_STRICT-Ebene generiert.

【Beispiel】Verwenden Sie die Funktion date_default_timezone_set(), um die Zeitzone festzulegen.

<?php
header("Content-type:text/html;charset=utf-8");
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());
?>

Die laufenden Ergebnisse sind wie folgt:

So lösen Sie die falsche Zeitzone in PHP

Empfohlenes Lernen: „PHP-Video-Tutorial

Das obige ist der detaillierte Inhalt vonSo lösen Sie die falsche Zeitzone in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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