php 時間差8小時

2021-08-29 21:44:25 字數 806 閱讀 7891

前幾天發現乙個問題 date("y-m-d g:i t",time()) 取出來的時間和本地時間老差8個小時,可我的系統明明是中國標準時(gmt+8),最後終於找到了問題所在:

原來從php5.1.0開始,php.ini裡加入了date.timezone這個選項,預設情況下是關閉的

也就是顯示的時間(無論用什麼php命令)都是格林威治標準時間

和我們的時間(北京時間)差了正好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下面的地區,可能會有遺漏

你可以上查到更多的地區

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

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

logstash日誌入庫時間差8小時

在使用elk的過程中,我的應用場景比較簡單,logstash從kafka中取出日誌,然 到對應的日期的es索引中。我的logstash配置檔案如下 input output document type event codec json 發現實際0 8點的日誌會入到昨天的index中,顯然是東八區的時...

Mysql時間差8個小時?修改Mysql時區

在將 rds 的資料庫遷移回了公司伺服器的docker後,編輯部的小姐姐找上了門來,我發的資訊看不見啦 rm rf etc localtime ln s usr share zoneinfo asia shanghai etc localtime date r 發現mysql的預設時間還是錯的,所以...