找到原因後,在網路上搜尋到了一些關於PHP的時區設定方法:
1、修改php.ini,在php.ini中找到data.timezone =去掉它前面的;號,然後設定data.timezone = 「 Asia/Shanghai”;即可。
2、在程式PHP 5以上版本的程式碼中使用函數ini_set('date.timezone','Asia/Shanghai');或date_default_timezone_set('Asia/Shanghai');
一些常用的時間區識別符說明:
Asia/Shanghai – 上海
Asia/Chongqing – 重慶
Asia/Urumqi – 烏魯木齊
Asia/Hong_Kong – 香港銫
函數設定時區方法:
<?php function_exists(date_default_timezone_set);//在这他总是返回1,这函数是判断这里面的字符是不是一个定义了的函数名 date_default_timezone_set("Etc/GMT");//这是格林威治标准时间,得到的时间和默认时区是一样的 date_default_timezone_set("Etc/GMT+8");//这里比林威治标准时间慢8小时 date_default_timezone_set("Etc/GMT-8");//这里比林威治标准时间快8小时 date_default_timezone_set('PRC'); //设置中国时区 ?>
手動修改php.設定
打開php找到date.timezone = "PRC" 如有去掉前面的分號,沒有的話手動添加!
以下是一些資料補充:
裝上PHP5後你會發現這樣的問題
$atime=date("Y-m-d H:i:s");
echochoatime;
?>:206 05-16 06:36:06
現在幾點了?/我的是14:36
這是為什麼捏?
原因是假如你不在程式或檔案中設定你的伺服器當地時區的話
PHP所取的時間是格林威治標準時間,所以和你當地的時間會有出入
格林威治標準時間和北京時間大概差8小時左右那我們要如何避免時間誤差呢?
我們一起來看看解決方法:
在頁頭使用date_default_timezone_set()設定我的預設時區為北京時間
<? date_default_timezone_set('PRC'); echo date('Y-m-d H:i:s'); ?>
date_default_timezone_set -- 設定用於一個腳本中所有日期時間函數的預設時區
說明
bool date_default_timezone_set ( string timezone_identifier )
date_default_timezone_set() 設定用於所有日期時間函數的預設時區。
註: 自 PHP 5.1.0 起(此版本日期時間函數被重寫了),如果時區不合法則每個對日期時間函數的呼叫都會產生一條 E_NOTICE 等級的錯誤訊息。
參數
timezone_identifier
時區識別符,例如 UTC 或 Europe/Lisbon
回傳值
本函數永遠傳回 TRUE(即使 timezone_identifier 參數不合法)。
------------------------------------------------- ------------------------------------
或修改php.ini 中date.timezone 值
date. timezone = PRC
裝上PHP5後你會發現這樣的問題
$atime=date("Y-m-d H:i:s");
echo $atime;
?>
輸出:2006-0501606 :06
現在幾點了?/我的是14:36
這是為什麼捏?
原因是假如你不在程式或檔案中設定你的伺服器當地時區的話
PHP所取的時間是格林威治標準時間,所以和你當地的時間會有出入
格林威治標準時間和北京時間大概差8小時左右那我們要如何避免時間誤差呢?
我們一起來看看解決方法:
在頁頭使用date_default_timezone_set()設定我的預設時區為北京時間
<? date_default_timezone_set('PRC'); echo date('Y-m-d H:i:s'); ?>
說明
bool date_default_timezone_set ( string timezone_identifier )
date_default_timezone_set() 設定用於所有日期時間函數的預設時區。
註: 自 PHP 5.1.0 起(此版本日期時間函數被重寫了),如果時區不合法則每個對日期時間函數的呼叫都會產生一條 E_NOTICE 等級的錯誤訊息。
參數
timezone_identifier
時區識別符,例如 UTC 或 Europe/Lisbon
回傳值
本函數永遠傳回 TRUE(即使 timezone_identifier 參數不合法)。
------------------------------------------------- ------------------------------------
或修改php.ini 中date.timezone 值
date. timezone = PRC
更多PHP中設定時區方法小結相關文章請關注PHP中文網!