首页 | PHP资讯 | 技术专栏 | 资源共享 | PHP培训 | PHP职场 | 图书 | PHP ON WIN | PHP圈子
返回列表 回复 发帖

时区问题

时区问题

我用php写了一个显示当前时间的程序,但结果是所显示的时间比实际时间慢了8个小时!
请问这是为什么?如何解决?
望指点!谢谢!!
不学则已,一学惊人!

timezone 设置

从php5.1.0开始,php.ini里加入了date.timezone这个选项,默认情况下是关闭的

也就是显示的时间(无论用什么php命令)都是格林威治标准时间

和我们的时间(北京时间)差了正好8个小时,有以下3中方法可以恢复正常的时间。

1,最简单的方法就是不要用php5.1以上的版本

2,如果一定要用,而且不能修改php.ini,则需要在关于时间的初始化的语句的
上面加上 date_default_timezone_set (XXX);

3,一劳永逸,仅限能修改php.ini。打开php.ini查找date.timezone 去掉前面的分号
= 后面加XXX,重启http服务(如apache2或iis等)即可

关于XXX,大陆内地可用的值是:Asia/Chongqing ,Asia/Shanghai ,Asia/Urumqi (依次为重庆,上海,乌鲁木齐)
港台地区可用:Asia/Macao ,Asia/Hong_Kong ,Asia/Taipei (依次为澳门,香港,台北)
还有新加坡:Asia/Singapore
老外好像把北京漏调了
其他可用的值是:Etc/GMT-8 ,Singapore ,Hongkong ,PRC
你可以http://www.php.net/docs.php上查到更多的地区

由于程序最后还是会把地名转为时区来计算,所以当你使用的不是内置的区域的时候,程序将自动使用格林威治标准时间

[ 本帖最后由 godswlin 于 2006-7-1 23:20 编辑 ]

TOP

时间是格林立志(GMT)的时间,所以要加上8小时

TOP

看着有些意思。

TOP

这样改对吗?

我找不到 php.ini文件,但找到了php.ini-recommended 和 php.ini-dist这两个文件,不知要改哪一个呢?
从里面找到了  ;date.timezone =    按照二楼的兄弟说的是不是要改为 date.timezone = "Asia/Shanghai"
后面要加分号吗?
谢谢!
不学则已,一学惊人!

TOP

呵呵,偶也遇到这个问题。修改php.ini文件没用。郁闷死,只有用date_default_timezone_set("prc")或者
date_default_timezone_set("asia/shanghai")才行;

TOP

汗到死 找不到PHP.INI  ....这样如何搞阿自己把PHP.INI-DIST 改了名用阿
我是小象我怕谁
深圳群 小松@名字

TOP

这位老兄,能说清楚一点吗?
我是刚入门的,还望多指点,3Q.
不学则已,一学惊人!

TOP

原帖由 caisong.com 于 2006-7-2 09:16 发表
汗到死 找不到PHP.INI  ....这样如何搞阿自己把PHP.INI-DIST 改了名用阿


就是让你把php.ini-dist改成php.ini来用了,8过要修改其中一些设置才能正常使用

TOP

从里面找到了  ;date.timezone =    按照二楼的兄弟说的是不是要改为
date.timezone = Asia/Shanghai
ok

TOP

返回列表