Chinaunix首页 | 论坛 | 博客
  • 博客访问: 304373
  • 博文数量: 111
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 707
  • 用 户 组: 普通用户
  • 注册时间: 2013-02-26 11:00
个人简介

小伙向前冲呀,小伙向前冲呀。

文章分类

全部博文(111)

文章存档

2014年(43)

2013年(68)

我的朋友

分类: PHP

2014-01-10 06:33:07

php date()输出的时间慢8个小时解决方法 

开发的时候是在xp上开发的,当时的开发环境是用的一个集成的软件(appserv),没有什么问题,今天我又重新配置了运行环境(windows 2000 server下),apache2,php5,mysql5都是手动安装配置的,结果程序里的时间比正常的时候慢了整整8个小时,后来一查才知道,原来是的有问题。    
                   
在php.ini 中找timezone那一项 改成date.timezone ="Etc/GMT-8"(注意去掉前面的;)然后重启web服务器就好使了。
以前也遇到过一次,记得上次一直在找apache的问题没有找到,后来才知道是php的问题。

代码:

  1. <?php
  2. /**
  3. * 没有date_default_timezone_set('Asia/Shanghai');这句,
  4. * 显示的时间为“格林威治标准时间”,与我们本地的时间相差8个小时。
  5. */
  6. date_default_timezone_set('Asia/Shanghai');
  7. echo date("H : i : s");
  8. ?>
  9. <?php
  10. //如果php>5.1.0
  11. if(phpversion()>='5.1.0')
  12. {
  13.      //获取php当前使用时区
  14.      //echo date_default_timezone_get();
  15.      //设置时区
  16.      date_default_timezone_set('Asia/Shanghai');
  17. }
  18. echo date('Y-m-d H:i:s',time());
  19. ?>
  20. <?php
  21. //另类解决方案
  22. echo date( "H : i : s",time() + 3600 * 8);
  23. ?>

总结:
程序设置方法:
输出时间前加上语句:

修改 php.ini配置文件方法:
找到 time_zone语句,去掉前面;,修改为date.timezone = "Etc/GMT-8"; 重启服务器。
阅读(810) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~