Home  >  Article  >  Backend Development  >  php怎么将获得的时间转换为北京时间

php怎么将获得的时间转换为北京时间

WBOY
WBOYOriginal
2016-06-13 10:54:121285browse

php如何将获得的时间转换为北京时间

从php5.10开始,php中加入了时区的设置,在php中显示的时间都是格林威治标准时间,这就造成了我们中国的用户会差八个小时的问题!
相关设置是修改php.ini中的 date.timezone 参数:
[Date]
; Defines the default timezone used by the date functions
;date.timezone =

默认是关闭的,只需把注释去掉,改为即可
[Date]
; Defines the default timezone used by the date functions
date.timezone = PRC

其中PRC是“中华人民共和国”!
其他选项可以参考php手册。
不过这上面的亚洲地区漏掉了我们的首都北京,不知道老外是不是故意的!

如果没有修改php.ini的权限,只需要在调用时间日期函数的时候,调用 date_default_timezone_set(’PRC’) 即可!
也可以调用date_default_timezone_get()来查看当前的时区设置!

關於XXX,大陸內地可用的值是:
Asia/Chongqing ,Asia/Shanghai ,Asia/Urumqi (依次為重慶,上海,烏魯木齊)
港台地區可用:Asia/Macao ,Asia/Hong_Kong ,Asia/Taipei (依次為澳門,香港,台北)
台灣地区可設為:date.timezone = "Asia//Taipei"
還有新加坡:Asia/Singapore


PHP5中的时间相差八小时的解决办法


安装好php5后,在论坛不经意间,在论坛上看到有人说php5.1.2的时间显示整整少8个小时,
??? echo date("Y-m-d H:i:s");
?>
结果自己测试果然是相差8小时。
??
?? 后来经过在论坛上找资料,结果终于解决,在php5以及起以上的版本,要输出本地的时间(限中国),可以这么写代码:
?? date_default_timezone_set('Asia/Shanghai');
?? echo date('Y-m-d H:i:s');
?>

也可以这样写代码:
?? date_default_timezone_set('Asia/Chongqing');
?? echo date('Y-m-d H:i:s');
?>
??
这样 时间相差八小时的问题就解决了!!~~~

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