当前位置: 首页 > 图文教程 > 网络编程 > PHP > PHP5.2中date()函数显示时间与北京时间相差8小时的解决办法

PHP
为php4加入动态flash文件的生成的支持
一个oracle+PHP的查询的例子
第十节 抽象方法和抽象类 [10]
第九节 绑定 [9]
第八节 访问方式 [8]
第六节 访问属性和方法 [6]
第五节 克隆 [5]
Zend引擎的发展 [15]
第三节 定义一个类 [3]
第二节 对象模型 [2]
Classes and Objects in PHP5-面向对象编程 [1]
PHP5 安装方法
第四节 构造函数和析构函数 [4]
php中数据的批量导入(csv文件)
一个ftp类(ini.php)
example1.php
VML绘图板②脚本--VMLgraph.js、XMLtool.js
如何获得PHP相关资料
PHP 和 COM
编译问题

PHP5.2中date()函数显示时间与北京时间相差8小时的解决办法


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

北京时间是东8区,可能是时区问题.但是此前都没问题啊,经过google发现原来从php5.1.0开始,php.ini里加入了 date.timezone这个选项,默认情况下是关闭的

问题:

php函数date("Y-n-d H-i-s"); 输出的时间与当地时间相差8个小时.

解决思路

北京时间是东8区,可能是时区问题.但是此前都没问题啊,经过google发现原来从php5.1.0开始,php.ini里加入了 date.timezone这个选项,默认情况下是关闭的,也就是显示的时间(无论用什么php命令)都是格林威治标准时间,和我们的时间(北京时间)差了正好8个小时。

在调用date()函数之前先设定时区。

方法一:
date_default_timezone_set('PRC');
没有返回值。下面再直接使用date函数就OK了
$time = date(Y."年".m."月".d."日".G."时".i."分");

方法二:

修改php.ini中的;date.timezone = 为date.timezone = "Asia/Shanghai"(或者改为date.timezone = PRC)并去掉前面的分号,重启Apache即可。