Home  >  Article  >  Backend Development  >  Summary of setting time zone methods in PHP

Summary of setting time zone methods in PHP

高洛峰
高洛峰Original
2016-12-30 10:38:331259browse

After finding the reason, I searched for some time zone setting methods for PHP on the Internet:

1. Modify php.ini, find data.timezone = in php.ini and remove the ; sign in front of it, and then Set data.timezone = “Asia/Shanghai”; that’s it.

2. Use the function ini_set('date.timezone','Asia/Shanghai'); or date_default_timezone_set('Asia/Shanghai'); in the program code of PHP 5 or above version

Description of some commonly used time zone identifiers:

Asia/Shanghai – Shanghai
Asia/Chongqing – Chongqing
Asia/Urumqi – Urumqi
Asia/Hong_Kong – Hong Kong
Asia/Macao – Macau
Asia/Taipei – Taipei
Asia/Singapore – Singapore


Function to set time zone:

<?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;); //设置中国时区 
?>

Function ini_set() to set time zone:
Yes Add ini_set('date.timezone','Asia/Shanghai') at the beginning of the file; // 'Asia/Shanghai' is the Shanghai time zone

Manually modify the php.ini settings
Open php and find date.timezone = "PRC" If there is one, remove the semicolon in front of it, if not, add it manually!

The following is some additional information:

You will find this problem after installing PHP5

$atime=date("Y-m-d H:i:s");
echo $atime;
?>
Output: 2006-05-16 06:36:06
What time is it now?/Mine is 14:36 ​​
Why is this?
The reason is that if you do not set the local time zone of your server in the program or configuration file
The time taken by PHP is Greenwich Mean Time, so it will be different from your local time
Greenwich The difference between standard time and Beijing time is about 8 hours. So how can we avoid time errors?
Let’s take a look at the solution:
Use date_default_timezone_set() on the header of the page 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;); 
?>

The time is the same as the current time of the server!
In addition, date_default_timezone_set is attached Usage is as follows:
-------------------------------------------------- -------------------------------------
date_default_timezone_set
(PHP 5 >= 5.1.0RC1)
date_default_timezone_set -- Set the default time zone for all date and time functions in a script
Description
bool date_default_timezone_set ( string timezone_identifier )
date_default_timezone_set() Set for Default time zone for all datetime functions.
Note: Since PHP 5.1.0 (the date and time functions have been rewritten in this version), if the time zone is illegal, each call to the date and time function will generate an E_NOTICE level error message.
Parameters
timezone_identifier
Time zone identifier, such as UTC or Europe/Lisbon
Return value
This function always returns TRUE (even if the timezone_identifier parameter is illegal).
-------------------------------------------------- -------------------------------------
Or modify date.timezone in php.ini Value
date.timezone = PRC

After installing PHP5 you will find this problem
$atime=date("Y-m-d H:i:s");
echo $atime;
?>
Output: 2006-05-16 06:36:06
What time is it now?/Mine is 14:36 ​​
Why is this?
The reason is that if you do not set the local time zone of your server in the program or configuration file
The time taken by PHP is Greenwich Mean Time, so it will be different from your local time
Greenwich The difference between standard time and Beijing time is about 8 hours. So how can we avoid time errors?
Let’s take a look at the solution:
Use date_default_timezone_set() on the header of the page 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;); 
?>

The time is the same as the current time of the server!
In addition, date_default_timezone_set is attached Usage is as follows:
-------------------------------------------------- -------------------------------------
date_default_timezone_set
(PHP 5 >= 5.1.0RC1)
date_default_timezone_set -- Set the default time zone for all date and time functions in a script
Description
bool date_default_timezone_set ( string timezone_identifier )
date_default_timezone_set() Set for Default time zone for all datetime functions.
Note: Since PHP 5.1.0 (the date and time functions have been rewritten in this version), if the time zone is illegal, each call to the date and time function will generate an E_NOTICE level error message.
Parameters
timezone_identifier
Time zone identifier, such as UTC or Europe/Lisbon
Return value
This function always returns TRUE (even if the timezone_identifier parameter is illegal).
-------------------------------------------------- -----------------------------------------------
Or modify date.timezone in php.ini Value
date.timezone = PRC

For more summary of time zone setting methods in PHP and related articles, please pay attention to 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