在用date()函数读取时间的时候你是不是会觉得时间和你本地服务器的时间不同呢,差8个小时,这是因为PHP5对date()函数进行了重写,因此,目前的日期时间函数总是比系统时间少8小时。在PHP语言中默认设置的是标准的格林威治时间,即零时区,更改有两种方法:
1、修改PHP.INI文件,找到;date.timezone=,将其修改为date.timezone=PRC,然后重启apache服务器,记得前面的;号也要去掉哦
2、在使用日期时间函数前,先使用date_defualt_timezone_set()函数设置时区,如:
date_defualt_timezone_set("PRC");
同一个例子在不同情况下运行的结果:
-
<?php
-
echo "mktime函数返回的时间戳(从1970年1月1日(UTC/GMT的午夜)开始所经过的秒数,不考虑闰秒。):".mktime()."秒
"
;
-
echo "当前的日期为:".date("Y-m-d",mktime())."
"
;
-
echo "当前的时间为:".date("H:i:s",mktime())."
"
;
-
?>
运行结果:
mktime函数返回的时间戳(从1970年1月1日(UTC/GMT的午夜)开始所经过的秒数,不考虑闰秒。):1278399928秒
当前的日期为:2010-07-06
当前的时间为:07:05:28(本来应该是15:05分左右,少了八小时)
加一个date_defualt_timezone_set()函数后
-
<?php
-
date_default_timezone_set("Asia/Hong_kong");
-
echo "mktime函数返回的时间戳(从1970年1月1日(UTC/GMT的午夜)开始所经过的秒数,不考虑闰秒。):".mktime()."秒
"
;
-
echo "当前的日期为:".date("Y-m-d",mktime())."
"
;
-
echo "当前的时间为:".date("H:i:s",mktime())."
"
;
-
?>
运行结果:
mktime函数返回的时间戳(从1970年1月1日(UTC/GMT的午夜)开始所经过的秒数,不考虑闰秒。):1278399979秒
当前的日期为:2010-07-06
当前的时间为:15:06:19
阅读(1129) | 评论(0) | 转发(0) |