当前位置: 首页 > 图文教程 > 网络编程 > PHP > php5中date()得出的时间为什么不是当前时间的解决方法

PHP
支持php4、php5的mysql数据库操作类
apache rewrite_module模块使用教程
java EJB 加密与解密原理的一个例子
asp和php下textarea提交大量数据发生丢失的解决方法
用php实现批量查询清除一句话后门的代码
Dedecms常用函数解析
PHP5 面向对象程序设计
PHP4与PHP5的时间格式问题
请php正则走开
php str_replace的替换漏洞
php 常用字符串函数总结
php实现mysql数据库备份类
由php if 想到的些问题
附件名前加网站名
深思 PHP 数组遍历的差异(array_diff 的实现)
PHP 实例化类的一点摘记
php入门小知识
php木马攻击防御之道
php不用正则采集速度探究总结
非常不错的MySQL优化的8条经验

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-13   浏览: 153 ::
收藏到网摘: n/a

从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个小时,
<?php
echo date("Y-m-d H:i:s");
?>
结果自己测试果然是相差8小时。
后来经过在论坛上找资料,结果终于解决,在php5以及起以上的版本,要输出本地的时间(限中国)
,可以这么写代码:
<?php
date_default_timezone_set('Asia/Shanghai');
echo date('Y-m-d H:i:s');
?>
也可以这样写代码:
<?php
date_default_timezone_set('Asia/Chongqing');
echo date('Y-m-d H:i:s');
?>
这样 时间相差八小时的问题就解决了!!~~~