当前位置:编程学习 > php >>

PHP提取的时间出现不准确的解决方法

首先大家看看你的电脑时间是不是北京时间,如果是了,再处理下面的(点右下角时间-市区选项)


原因是从php5.1.0开始,php.ini里加入了date.timezone这个选项,默认情况下是关闭的,也就是显示的时间都是格林威治标准时间,和我们的时间(北京时间)差了正好8个小时。

后来GOOGLE了下,得到两种解决方法:
1、可以date_default_timezone_set ('Etc/GMT-8');
红色标记部分可以改为"Etc/GMT-8","PRC"这两个在php帮助手册->附录 H. 所支持时区列表->其它时区列表里。
红色标记部分也可以改为"Asia/Shanghai","Asia/Chongqing","Asia/Urumqi"这三个在php帮助手册->附录 H. 所支持时区列表->亚洲时区列表里
date_default_timezone_set ('Asia/Shanghai');
echo date_default_timezone_get ();
echo date("Y-n-d   H-i-s");  
2、上面的修改是通过脚本修改,优点就是可移植性好,缺点就是每个脚本都要加。我们也可以通过修改php.ini的配置来达到目的。打开php.ini查找date.timezone 去掉前面的分号,等号后面填上上面红色标记的字段。修改结果是date.timezone ="Etc/GMT-8"
date_default_timezone_set ('Asia/Shanghai');
echo date_default_timezone_get ();
echo date("Y-n-d   H-i-s");  


PHP 中时间不准的解决方法 时区原因 在 2012年12月04日 那天写的     已经有 952 次阅读了感谢 参考或原文
试试阅读模式?希望听取您的建议   
在PHP5中, 时间默认是格林尼治时间,想要用北京时间,可以用以下方法。

方法一:程序中调整,PHP代码:

date_default_timezone_set (PRC);
方法二:php.ini中调整,代码:

date.timezone = PRC

PHP中Date获取的系统时间不准确的原因和解决办法
2012-06-26 12:27:47   来源:   评论:0 点击:259 更多
今天用echo date("Y-m-d H:i:s")获取系统时间时,发现获取的时间与系统的时间不符。
今天用echo date("Y-m-d H:i:s")获取系统时间时,发现获取的时间与系统的时间不符。

最终发现,PHP默认设置的时间是以格林威治时区为标准的,所以我们必须把PHP的时区设定改为北京时间。
解决方法有两个。

方法一:
打开php.ini文件,一般在PHP的安装根目录下
找到其中的;date.timezone
删掉date.timezone前面的分号,并改成date.timezone = PRC
存盘,并重新启动Apahce服务。

方法二:
在程序前面加上date_default_timezone_set(PRC);
例如:
<?php
date_default_timezone_set(PRC);
echo date("Y-m-d H:i:s");
?>

自己可以动手试试,希望给遇到此问题的朋友带来帮助!
个人建议采用第二种方法。

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,