php5中date()得出的时间为什么不是当前时间的解决方法

PHPz
发布: 2019-02-12 11:24:21
原创
1100 人浏览过

从php5.10开始,php中加入了时区的设置,在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个小时,

<?php
echo date("Y-m-d H:i:s");
?>
登录后复制

结果自己测试果然是相差8小时。

后来经过在论坛上找资料,结果终于解决,在php5以及起以上的版本,要输出本地的时间(限中国)

,可以这么写代码:

<?php
date_default_timezone_set(&#39;Asia/Shanghai&#39;);
echo date(&#39;Y-m-d H:i:s&#39;);
?>
登录后复制

也可以这样写代码:

<?php
date_default_timezone_set(&#39;Asia/Chongqing&#39;);
echo date(&#39;Y-m-d H:i:s&#39;);
?>
登录后复制

这样 时间相差八小时的问题就解决了!!~~~


相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板