在php中我們如果沒進行時區配置運行使用php日期時間函數時會提示一些時區問題的錯誤,也有可能出現時區不對,與北京時間相關幾個小時問題,下面我來一並給各位同學介紹。
在用PHP5.3以上的PHP版本時,只要是涉及時間的會報一個
我在使用
<?
echo date('Y-m-d');
?>
提示
"PHP Warning: date() [function.date]: It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'UTC' for '8.0/no DST' instead in"
實際上,從 PHP 5.1.0 ,當對使用date()等函數時,如果timezone設置不正確,在每一次調用時間函數時,都會產生E_NOTICE 或者 E_WARNING 信息。而又在php5.1.0中,date.timezone這個選項,默認情況下是關閉的,無論用什麼php命令都是格林威治標准時間,但是PHP5.3中好像如果沒有設置也會強行拋出了這個錯誤的,解決此問題,只要本地化一下,就行了。
以下是三種方法(任選一種都行):
一、在頁頭使用date_default_timezone_set()設置 date_default_timezone_set('PRC'); //東八時區 echo date('Y-m-d H:i:s');
二、在頁頭使用 ini_set('date.timezone','Asia/Shanghai');
三、修改php.ini。打開php5.ini查找date.timezone 去掉前面的分號修改成為:date.timezone =PRC