PHP通过date()函数获取时间后,你会发现小时时间不对,比现在的时间小8个小时,无论用H,还是用h都一样,这个是因为当前获取的是格林威治时间,与北京时间相差8小时。
解决方法如下:
1、修改php.ini配置文件
打开php.ini文件,一般在php配置根目录下,找到其中的 ;date.timezone,删掉前面的分号,并改为date timezone = PRC。保存,重启Apahce服务即可。
2、加上date_default_timezone_set(timezone_identifier)函数
这个函数的意思是,设置当前时区,对时间进行初始化,在页头或获取时间语句前加上这句话。
例如:
date_default_timezone_set(PRC);
echo date("Y-m-d H-i-s");
参数如下设置:
date_default_timezone_set(PRC) –设置为北京时间,PRC代表中华人民共和国
date_default_timezone_set(‘Asia/Shanghai’) –设置为上海时间
港台地区可用:Asia/Macao ,Asia/Hong_Kong ,Asia/Taipei (依次为澳门,香港,台北)
新加坡地区:Asia/Singapore
具体代码如下:
<html>
<head>
<title>获取当前时间</title>
</head>
<body>
<div>
<h1>当前时间为:</h1>
<!--这个函数的意思是,设置当前时区,对时间进行初始化,在页头或获取时间语句前加上这句话。-->
<?php date_default_timezone_set('PRC');?>
<?php echo $showtime = date("Y-m-d H:i:s"); ?>
<?php
$weekarray = array("日", "一", "二", "三", "四", "五", "六");
echo "星期" . $weekarray[date("w")];
?>
</div>
</body>
</html>