Home > Article > Backend Development > Modification of PHP default time zone
This article mainly introduces the modification of PHP's default time zone, which has certain reference value. Now I share it with everyone. Friends in need can refer to it
Each region has its own local time. On the Internet and in radio communications, the problem of time conversion is particularly prominent. The entire earth is divided into twenty-four time zones, each with its own local time. In international radio or network communication situations, for the sake of unification, a unified time is used, called Universal Time Coordinated (UTC), which is a global standard time set by the world time standard. UTC was originally also known as Greenwich Mean Time (GMT, Greenwich Mean Time), which is the same as the local time in London, UK.
PHP’s default time zone setting is UTC time, and Beijing is located in the East Eighth District of the time zone, eight hours ahead of UTC. Therefore, when using functions such as time() in PHP to obtain the current time, the time obtained is always wrong, showing that it is eight hours different from Beijing time. If you want to display Beijing time correctly, you need to modify the default time zone settings, which can be done in the following two ways.
If you are using an independent server and have permission to modify the configuration file, setting the time zone can be completed by modifying the date.timezone attribute in php.ini. We can set the value of this attribute to one of "Asia/Shang", "Asia/Chongqing", "Etc/GMT-8" or PRC, etc., and then the current time obtained in the PHP script is Beijing time. Modify the PHP configuration file as follows:
date.timezone = Etc/GMT-8 //在配置文件中设置默认时区为东8区(北京时间)
If you are using a shared server and do not have permission to modify the configuration file php.ini, and the PHP version is above 5.1.0, you can also call it before the output time The date_default_timezone_set() function sets the time zone. This function needs to provide a time zone identifier as a parameter, which is the same as the value of the date.timezone attribute in the configuration file. The use of this function is as follows:
date_default_timezone_set('PRC'); //在输出时间之前设置时区,PRC为中华人民共和国 echo date('Y-m-d H:i:s', time()); //输出的当前时间为北京时间
The array unit returned by the getdate() function
key name |
Description |
Return value example |
##hours | The numerical value of the hour represents | 0~23 |
The numerical representation of the day of the month | 1~31 | |
The numerical value of minutes represents | 0~59 | ##mon |
The numerical representation of the month |
1~12 |
##month |
Complete text representation of the month | ##January~December##seconds | |
0~59 | ##wday |
| The numerical representation of the day of the week
0~6 (0 means Sunday) |
weekday | Full text representation of the day of the week |
Sunday~Saturday |
yday | The numerical offset of the day of the year |
0~365 |
year | The 4-digit representation of the year |
For example: 1999 or 2009 |
0 | The number of seconds since the beginning of the UNIX epoch, |
system dependent, typical values are from |
-2147483648~2147483647 |
If you convert "October 1, 2009, 07:30:50 EDT" into UNIX timestamp 1254382250, and pass it to the getdate() function, view each array element as follows: Array ( [seconds] => 50 //秒的数值表示 [minutes] => 30 //分钟的数值表示 [hours] => 7 //小时的数值表示 [mday] => 1 //月份中日的数值表示 [wday] => 4 //一周中日的数值表示 [mon] => 10 //月份的数值表示 [year] => 2009 //年份的4位表示 [yday] => 273 //一年中日的数值偏移 [weekday] => Thursday //一周中日的完整文本表示 [month] => October //月份的完整文本表示 [0] => 1254382250 //自从UNIX纪元开始至今的秒数 ) Above That’s all for this article, thank you all for reading. | Related recommendations:
The above is the detailed content of Modification of PHP default time zone. For more information, please follow other related articles on the PHP Chinese website!