php默認時區是歐美國家的所以與我們中國時區相差了整整8小時,下面我來給各位介紹php設置時區方法。
在 php.ini 中,默認是 date.timezone = UTC,修改為中國時區,修改為 date.timezone = PRC,如果直接寫 GMT 格式的,是 date.timezone = Etc/GMT+8。
另外,也可以在 PHP 頁面頭中設置,代碼如下:date_default_timezone_set('PRC');
在PHP5中,有很多方法可以設置或者獲取默認的時區設置,例如使用 date_default_timezone_setl 函數來設置時區,代碼如下:
- <?php
- date_default_timezone_set("Asia/Shanghain"); //設置時區為上海
- ?>
或者設置東京的時區代碼為:
- <?php
- date_default_timezone_set("Asia/Tokyo");
- ?>
系統初始化時,加上
- ini_set('date.timezone','Asia/Shanghai');
- //或
- date_default_timezone_set("PRC");
就將解決時區相差8小時的問題,還有如果你有php.ini管理權限可直接在php.ini中修改.
手動修改php.ini設置:打開php找到date.timezone = "PRC" 如有去掉前面的分號,沒有的話手動添加,裝上PHP5后你會發現這樣的問題,代碼如下
- <?php
- $atime=date("Y-m-d H:i:s");
- echo $atime;
- ?>
- <?php
- $atime=date("Y-m-d H:i:s");
- echo $atime;
- ?>
你也許會發現,輸出的時間和你現在的時間是不相同的,原因是假如你不在程序或配置文件中設置你的服務器當地時區的話,PHP所取的時間是格林威治標準時間,所以和你當地的時間會有出入。
格林威治標準時間和北京時間大概差8個小時左右 那么我們如何避免時間誤差呢?我們一起來看看解決方法,在頁頭使用date_default_timezone_set()設置我的默認時區為北京時間,代碼如下:
- <?
- date_default_timezone_set('PRC');
- echo date('Y-m-d H:i:s');
- ?>
時間和服務器當前時間一樣了,如果發生插入數據庫錯誤的話,請確保 date('Y-m-d H:i:s') 中的 H 為大寫。
新聞熱點
疑難解答