Heim  >  Artikel  >  Backend-Entwicklung  >  So legen Sie die Zeitzone in PHP fest

So legen Sie die Zeitzone in PHP fest

不言
不言Original
2018-04-09 17:37:0511788Durchsuche

Der Inhalt dieses Artikels befasst sich mit dem Festlegen der Zeitzone in PHP. Freunde in Not können darauf zurückgreifen.

Heute habe ich festgestellt, dass etwas mit der Zeitbeurteilungsanweisung in einem PHP-Code nicht stimmt, und habe es studiert Ich habe herausgefunden, dass das Problem in der Zeitzoneneinstellung von PHP liegt. Die von PHP verwendete Zeit ist standardmäßig 8 Stunden von der Pekinger Zeit entfernt.

Nachdem ich den Grund gefunden hatte, suchte ich online für einige Zeitzoneneinstellungen der PHP-Methode:

1. Ändern Sie php.ini, suchen Sie data.timezone = in php.ini, entfernen Sie die Zahl davor und setzen Sie dann data.timezone = „Asia“. /Shanghai";.

2. Verwenden Sie die Funktion ini_set('date.timezone','Asia/Shanghai'); oder date_default_timezone_set('Asia/Shanghai');
Erläuterung einiger häufig verwendeter Zeitzonenkennungen:

Asien/Shanghai – Shanghai
Asien/Chongqing – Chongqing
Asien/Urumqi – Urumqi
Asien/Hong_Kong – Hongkong
Asien/Macau – Macau
Asien/Taipeh – Taipeh
Asien/Singapur – Singapur



Funktion zur Einstellung der Zeitzonenmethode:

Kopieren Sie den Code Der Code lautet wie folgt:

<?php 
function_exists(date_default_timezone_set);//在这他总是返回1,这函数是判断这里面的字符是不是一个定义了的函数名 
date_default_timezone_set("Etc/GMT");//这是格林威治标准时间,得到的时间和默认时区是一样的 
date_default_timezone_set("Etc/GMT+8");//这里比林威治标准时间慢8小时 
date_default_timezone_set("Etc/GMT-8");//这里比林威治标准时间快8小时 
date_default_timezone_set(&#39;PRC&#39;); //设置中国时区 
?>



Funktion ini_set() legt die Zeitzone fest: Sie können ini_set('date.timezone am Anfang der Datei ','Asia/Shanghai'); // 'Asia/Shanghai' ist die Shanghai-Zeitzone hinzufügen


Ändern Sie die PHP-Datei manuell. ini-Einstellungen
Öffnen Sie PHP und suchen Sie nach date.timezone = "PRC". Wenn ja, entfernen Sie das Semikolon davor, wenn nicht, fügen Sie es manuell hinzu!


Im Folgenden einige zusätzliche Informationen:

Sie werden dieses Problem nach der Installation von PHP5 finden

$atime=date ( "Y-m-d H:i:s");
echo $atime;> 14:36 ​​​​
Warum ist das so?
Der Grund dafür ist, dass, wenn Sie die lokale Zeitzone Ihres Servers nicht im Programm oder in der Konfigurationsdatei festlegen
die von PHP verwendete Zeit Greenwich Mean Time ist und sich daher von Ihrer lokalen Zeit unterscheidet
Greenwich Der Unterschied zwischen der Standardzeit und der Pekinger Zeit beträgt etwa 8 Stunden. Wie können wir also Zeitfehler vermeiden?
Sehen wir uns die Lösung an:
Verwenden Sie date_default_timezone_set() in der Kopfzeile der Seite, um meine Standardzeitzone auf die Pekinger Zeit festzulegen



Kopieren Sie den Code
Der Code lautet wie folgt:

Die Uhrzeit entspricht der aktuellen Zeit des Servers Außerdem ist die Verwendung von date_default_timezone_set wie folgt:

---- --------------------------------------------------- ------------
<? 
date_default_timezone_set(&#39;PRC&#39;); 
echo date(&#39;Y-m-d H:i:s&#39;); 
?>
date_default_timezone_set

(PHP 5 >= 5.1.0RC1)
date_default_timezone_set – Legt die Standardzeitzone fest, die für alle Datums- und Uhrzeitfunktionen in einem Skript verwendet wird.
Beschreibung
bool date_default_timezone_set ( string timezone_identifier )
date_default_timezone_set() Legt die Standardzeitzone fest, die für alle Datetime-Funktionen verwendet wird.
Hinweis: Seit PHP 5.1.0 (die Datums- und Uhrzeitfunktionen wurden in dieser Version neu geschrieben) generiert jeder Aufruf der Datums- und Uhrzeitfunktion eine Fehlermeldung der Ebene E_NOTICE, wenn die Zeitzone ungültig ist.
Parameter
timezone_identifier
Zeitzonenkennung, z. B. UTC oder Europa/Lissabon
Rückgabewert
Diese Funktion gibt immer TRUE zurück (auch wenn der Parameter timezone_identifier unzulässig ist).
--------------------------------- --- ----------------
Oder ändern Sie date.timezone im php.ini-Wert
date.timezone = PRC

Nach der Installation von PHP5 werden Sie dieses Problem finden
$atime=date("Y-m-d H:i:s") ;
echo $atime;
Ausgabe: 2006-05-16 06:36:06
Wie spät ist es jetzt?/Meine ist 14:36 ​​​​​​
Warum ist das?
Der Grund dafür ist, dass, wenn Sie die lokale Zeitzone Ihres Servers nicht im Programm oder in der Konfigurationsdatei festlegen
die von PHP verwendete Zeit Greenwich Mean Time ist und sich daher von Ihrer lokalen Zeit unterscheidet
Greenwich Der Unterschied zwischen der Standardzeit und der Pekinger Zeit beträgt etwa 8 Stunden. Wie können wir also Zeitfehler vermeiden?
Sehen wir uns die Lösung an:
Verwenden Sie date_default_timezone_set() im Header, um meine Standardzeitzone auf die Pekinger Zeit festzulegen



Kopieren Sie den Code
Der Code ist wie folgt:

<? 
date_default_timezone_set(&#39;PRC&#39;); 
echo date(&#39;Y-m-d H:i:s&#39;); 
?>

时间和服务器当前时间一样了!
另外附date_default_timezone_set用法如下:
------------------------------------------------------------------------------------
date_default_timezone_set
(PHP 5 >= 5.1.0RC1)
date_default_timezone_set -- 设定用于一个脚本中所有日期时间函数的默认时区
说明
bool date_default_timezone_set ( string timezone_identifier )
date_default_timezone_set() 设定用于所有日期时间函数的默认时区。
注: 自 PHP 5.1.0 起(此版本日期时间函数被重写了),如果时区不合法则每个对日期时间函数的调用都会产生一条 E_NOTICE 级别的错误信息。
参数
timezone_identifier
时区标识符,例如 UTC 或 Europe/Lisbon
返回值
本函数永远返回 TRUE(即使 timezone_identifier 参数不合法)。
-------------------------------------------------------------------------------------
或者修改 php.ini 中 date.timezone 值
date.timezone = PRC

相关推荐:

PHP设置头信息及取得返回头信息方法

PHP设置Cookie的HTTPONLY属性方法详解

Das obige ist der detaillierte Inhalt vonSo legen Sie die Zeitzone in PHP fest. 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