在 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 為大寫。