Home > Backend Development > PHP Problem > How to set Beijing time in php

How to set Beijing time in php

WJ
Release: 2023-03-01 13:16:01
Original
4070 people have browsed it

How to set Beijing time in php

How to set Beijing time in php?

The examples in this article describe the PHP date_default_timezone_set() setting time zone operation. Share it with everyone for your reference, the details are as follows:

<?php
echo function_exists(date_default_timezone_set)."<br>";//在这他总是返回1,这函数是判断这里面的字符是不是一个定义了的函数名
echo date(&#39;Y-m-d H:i:s&#39;)."<br>";//默认时区的时间
 
echo date_default_timezone_set("Etc/GMT")."<br>";//这是格林威治标准时间,得到的时间和默认时区是一样的
echo date(&#39;Y-m-d H:i:s&#39;)."<br>";
 
echo date_default_timezone_set("Etc/GMT+8")."<br>";//这里比林威治标准时间慢8小时
echo date(&#39;Y-m-d H:i:s&#39;)."<br>";
 
echo date_default_timezone_set("Etc/GMT-8")."<br>";//由上一个不能难想像,我们比那快8小时所以减8
echo date(&#39;Y-m-d H:i:s&#39;)."<br>";
 
echo date_default_timezone_set(&#39;PRC&#39;)."<br>"; //设置中国时区
echo date(&#39;Y-m-d H:i:s&#39;)."<br>";//中国标准时间
?>
Copy after login

Output

2009-05-15 02:20:42 //Default time zone time
2009-05-15 02:20:42 //("Etc/GMT") Greenwich Mean Time
2009-05-14 18:20:42 //("Etc/GMT 8") 8 slower than Greenwich Mean Time Hour
2009-05-15 10:20:42 //("Etc/GMT-8") is 8 hours ahead of Ringwich Standard Time, which is our Beijing time
2009-05-15 10: 20:42 //('PRC') China Standard Time

There is a legacy problem before, that is, the time returned by echo date("y-m-d h:i:s",time()) is always It doesn't match the actual time. I finally found the reason and solution online today. I share it as follows:

I would like to add that I modified php.ini according to the method shown below and could not find the date.timezone line. Is there nothing you can do about it, of course not, haha, if you don’t have it, just add it yourself, and make enough food and clothing by yourself. I added date.timezone = "PRC" and the problem was solved. I'm happy.

Starting from php5.1.0, the date.timezone option has been added to php.ini. It is turned off by default. The

means that the displayed time (no matter what php command is used) is Greenwich Mean Time.

is exactly 8 hours different from our time (Beijing time). There are the following 3 Method can restore normal time.

1, the simplest way is not to use php5.1 or above version

2, if you must use it, and you cannot modify php.ini, you need to initialize the time statement
Add date_default_timezone_set (XXX);
cp does not have this problem

3, once and for all, only php.ini can be modified. Open php.ini and search for date.timezone. Remove the semicolon in front
= and add XXX after it. Restart the http service (such as apache2 or iis, etc.)

Regarding XXX, the available values ​​in mainland China are: Asia /Chongqing, Asia/Shanghai, Asia/Urumqi (in order Chongqing, Shanghai, Urumqi)
Available in Hong Kong and Taiwan: Asia/Macao, Asia/Hong_Kong, Asia/Taipei (in order Macau, Hong Kong, Taipei)
And Singapore: Asia/Singapore
Foreigners seem to have missed Beijing
Other available values ​​are: Etc/GMT-8, Singapore, Hongkong, PRC
What is PRC? PRC is the People's Republic of China-_-
----------------------------------------- -------------------------------------------------- --------------------------

Solution:

at the top of the page Use date_default_timezone_set() to set my default time zone to Beijing time

date_default_timezone_set(&#39;PRC&#39;);
echo date(&#39;Y-m-d H:i:s&#39;);
Copy after login

The time is the same as the current time of the server!! Congratulations

Attachmentdate_default_timezone_setUsage is as follows

--------------------------------

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 级别的错误信息。
Copy after login

Parameters

timezone_identifier
Copy after login

Time zone identifier, such as UTC or Europe/Lisbon

Return value
This function always returns TRUE (even if the timezone_identifier parameter is illegal).

-------------------------------------------------- --------------------------------------------------

Attach the time zone identifier:

CET
CST6CDT
Cuba
EET
Egypt
Eire
EST
EST5EDT
Etc/GMT
Etc/GMT 0
Etc/GMT 1
Etc/GMT 10
Etc/GMT 11
Etc/GMT 12
Etc/GMT 2
Etc/ GMT 3
Etc/GMT 4
Etc/GMT 5
Etc/GMT 6
Etc/GMT 7
Etc/GMT 8
Etc/GMT 9
Etc/GMT -0
Etc/GMT-1
Etc/GMT-10
Etc/GMT-11
Etc/GMT-12
Etc/GMT-13
Etc/GMT-14
Etc/GMT-2
Etc/GMT-3
Etc/GMT-4
Etc/GMT-5
Etc/GMT-6
Etc/GMT-7
Etc/GMT-8
Etc/GMT-9
Etc/GMT0
Etc/Greenwich
Etc/UCT
Etc/Universal
Etc/UTC
Etc/Zulu
Factory
GB
GB-Eire
GMT
GMT 0
GMT-0
GMT0
Greenwich
Hongkong
HST
Iceland
Iran
Israel
Jamaica
Japan
Kwajalein
Libya
MET
MST
MST7MDT
Navajo
NZ
NZ-CHAT
Poland
Portugal
PRC
PST8PDT
ROC
ROK
Singapore
Turkey
UCT
Universal
UTC
W-SU
WET

Related references:php中文网

The above is the detailed content of How to set Beijing time in php. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
php
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template