Heim >Backend-Entwicklung >PHP-Problem >So ändern Sie die Zeitzone in PHP

So ändern Sie die Zeitzone in PHP

藏色散人
藏色散人Original
2022-01-12 11:20:357695Durchsuche

So ändern Sie die Zeitzone in PHP: 1. Suchen Sie date.timezone in der Konfigurationsdatei und legen Sie die Zeitzone fest. 2. Verwenden Sie die Funktion ini_set(), um die Zeitzone festzulegen Stellen Sie die Zeitzone ein.

So ändern Sie die Zeitzone in PHP

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

Wie ändere ich die Zeitzone in PHP?

In PHP werden Datum und Uhrzeit über das Datum ermittelt und Zeitfunktionen. Die Datums- und Uhrzeitfunktionen hängen von der Zeiteinstellung des Servers ab. Die Zeiteinstellung des Servers ist standardmäßig auf Greenwich Time (Zeitzone Null) 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.

Einteilung der Zeitzonen

Die Welt ist in 24 Zeitzonen unterteilt. Die Ortszeit jeder Zeitzone unterscheidet sich beispielsweise um 1 bis 23 Stunden Unterschied zwischen der Ortszeit in London, Großbritannien und der Ortszeit in Peking 8 Stunden.

Im Bereich der internationalen Funkkommunikation wird eine einheitliche Zeit verwendet, die als Universal Time Coordinated (UTC) bezeichnet wird und mit der Greenwich Mean Time (GMT) identisch ist.

Zeitzoneneinstellung in PHP

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, müssen Sie also die Zeitzoneneinstellung in der PHP-Sprache ändern.

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, und wir sehen eine Information wie unten gezeigt:

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

wobei date.timezone = die gleiche Funktion wie // in PHP hat und beide Kommentare hier bedeuten Wir müssen dies entfernen und die entsprechende Zeitzonenkennung nach = in diesen 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

Es gibt viele Zeitzonenkennungen, Sie können „https://www.php.net/manual/zh“ besuchen / timezones.php“ zum Anzeigen. Hier sind einige häufig verwendete Zeitzonenkennungen und ihre Bedeutung:

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

Tipps: In China können wir die Zeitzone auf „Asien/Shanghai oder VR China“ einstellen. Denken Sie daran, den Server danach neu zu starten Einstellung ist gelungen!

【Beispiel】Das Folgende ist ein Codeteil, um zu überprüfen, ob unsere Einstellungen wirksam sind.

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

Das laufende Ergebnis lautet wie folgt:

2020-03-26 09:56:52

Wenn das laufende Ergebnis der Ortszeit unseres Computers entspricht, bedeutet dies, dass unsere Einstellung erfolgreich war.

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

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

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 Zeit- und Datumsfunktionen in 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 Wenn die Variable verwendet wird, werden auch Nachrichten auf E_STRICT-Ebene generiert.

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

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

Die laufenden Ergebnisse sind wie folgt:

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

Empfohlenes Lernen: „PHP-Video-Tutorial

Das obige ist der detaillierte Inhalt vonSo ändern Sie die 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