初次使用php的朋友可能發現我們配置好php環境之後利用php date函數輸出日期時會發現日期與正確日期相關8個小時哦。
例
代碼如下 復制代碼<?php
echo date('Y-m-d H:i:s');
?〉
輸出當前時間:2008-10-12 02:32:17
怪了,實際時間是:2008-10-12 10:32:17
難道是PHP的date()時間不正確 少8個小時?
再看看PHP手冊的“例子 1. date() 例子”第一行多了一個 時區設置
// 設定要用的默認時區。自 PHP 5.1 可用
date_default_timezone_set('UTC');
原來php5.1.開始,php.ini裡加入了date.timezone這個選項,默認情況下是關閉的,也就是顯示的時間(無論用什麼php命令)都是格林威治標准時間,和北京時間正好差8個小時。
如何設置可以得到正確的PHP時間?
1、修改php.ini。打開php.ini查找date.timezone 去掉前面的分號= 後面加Asia/Shanghai,重啟apache服務器即可--缺點就是如果程序
放到別人的服務器上,不能修改php.ini,我們可以修改php程序哦
代碼如下 復制代碼
<?php
date_default_timezone_set('Asia/Chongqing');
echo date('Y-m-d H:i:s');
?>
直接加上加上8小時的秒數
<?php
echo date("Y-m-d H:i:s",time()+8*60*60);
?>