Home  >  Article  >  Backend Development  >  Modification of PHP default time zone

Modification of PHP default time zone

不言
不言Original
2018-05-31 14:11:062066browse

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

##mdayThe numerical representation of the day of the month1~31##minutes##mon##January~DecemberThe value of seconds represents ##wdayThe numerical representation of the day of the week weekdayFull text representation of the day of the weekydayThe numerical offset of the day of the yearyearThe 4-digit representation of the year0The number of seconds since the beginning of the UNIX epoch, and the return value of time() and the value used for date( ) value is similar to system dependent, typical values ​​are from Related recommendations:

key name

Description

Return value example

##hours

The numerical value of the hour represents

0~23

The numerical value of minutes represents

0~59

The numerical representation of the month

1~12

##month
Complete text representation of the month

##seconds

0~59

0~6 (0 means Sunday)

Sunday~Saturday

0~365

For example: 1999 or 2009

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

Methods that do not take effect after modifying php.ini under CentOS

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!

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