php中時間差8小時的幾種解決辦法

2021-05-23 01:08:42 字數 1922 閱讀 7687

從php5.1.0開始,php.ini裡加入了date.timezone這個選項,預設情況下是關閉的,也就是顯示的時間(無論用什麼php命令)都是格林威治標準時間,和我們的時間(北京時間)差了正好8個小時,所以就出現了date("y-m-d g:i t",time()) 取出來的時間和本地時間老差8個小時的情況,有以下3種方法可以用來恢復正常的時間。

1,最簡單的方法就是不要用php5.1以上的版本

2,如果一定要用,而且不能修改php.ini,則需要在關於時間的初始化的語句的

上面加上 date_default_timezone_set (***);

3,一勞永逸,許可權能修改php.ini。開啟php.ini查詢date.timezone 去掉前面的分號

= 後面加***,重啟http服務(如apache2或iis等)即可

關於***,大陸內地可用的值是:asia/chongqing ,asia/shanghai ,asia/urumqi (依次為重慶,上海,烏魯木齊)

港台地區可用:asia/macao ,asia/hong_kong ,asia/****ei (依次為澳門,香港,台北)

還有新加坡:asia/singapore

老外好像把北京漏調了

其他可用的值是:etc/gmt-8 ,singapore ,hongkong ,prc

prc是什麼?prc是中華人民共和國啊-_-

以上都是我從php官方說明檔裡整理出來的gmt-8下面的地區,可能會有遺漏

到http://www.php.net/docs.php上你可以查到更多的地區

相關時間引數:

a - "am" 或是 "pm"

a - "am" 或是 "pm"

d - 幾日,二位數字,若不足二位則前面補零; 如: "01" 至 "31"

d - 星期幾,三個英文本母; 如: "fri"

f - 月份,英文全名; 如: "january"

h - 12 小時制的小時; 如: "01" 至 "12"

h - 24 小時制的小時; 如: "00" 至 "23"

g - 12 小時制的小時,不足二位不補零; 如: "1" 至 12"

g - 24 小時制的小時,不足二位不補零; 如: "0" 至 "23"

i - 分鐘; 如: "00" 至 "59"

j - 幾日,二位數字,若不足二位不補零; 如: "1" 至 "31"

l - 星期幾,英文全名; 如: "friday"

m - 月份,二位數字,若不足二位則在前面補零; 如: "01" 至 "12"

n - 月份,二位數字,若不足二位則不補零; 如: "1" 至 "12"

m - 月份,三個英文本母; 如: "jan"

s - 秒; 如: "00" 至 "59"

s - 字尾加英文序數,二個英文本母; 如: "th","nd"

t - 指定月份的天數; 如: "28" 至 "31"

u - 總秒數

w - 數字型的星期幾,如: "0" (星期日) 至 "6" (星期六)

y - 年,四位數字; 如: "1999"

y - 年,二位數字; 如: "99"

z - 一年中的第幾天; 如: "0" 至 "365"

如果在php.ini檔案找不到date.timezone可以在文件最後新增如下**即可:

[date]

; defines the default timezone used by the date functions

date.timezone = "asia/shanghai"

注意要修改的是apache2的bin目錄下的php.ini檔案,如果修改的是php目錄下的php.ini是沒有用的。

最實用的,只要在獲取時間之前,加一句 code: date_default_timezone_set(prc); 就ok!

php 時間差8小時

前幾天發現乙個問題 date y m d g i t time 取出來的時間和本地時間老差8個小時,可我的系統明明是中國標準時 gmt 8 最後終於找到了問題所在 原來從php5.1.0開始,php.ini裡加入了date.timezone這個選項,預設情況下是關閉的 也就是顯示的時間 無論用什麼p...

PHP獲取當前時間差8小時的問題

echo date y m d h i s 當前時間 這個方法獲取的時間和標準時間差8小時 從php5.1.0開始,php.ini裡加入了date.timezone這個選項,預設情況下是關閉的 也就是顯示的時間 無論用什麼php命令 都是格林威治標準時間 和我們的時間 北京時間 差了正好8個小時,有...

PHP伺服器時間差8小時解決方案

參考自 date y m d h i s 結果取出來顯示的時間總是於本地時間相差8個小時,我的本機是中國標準時間 gtm 8 問題應該是date 取的時間是格林威治時間,那應該怎麼配置一下php伺服器呢?下面是我在網上找到的解決方法 問題原因所在 從php5.1.0開始,php.ini裡加入了dat...