首頁 >後端開發 >PHP問題 >php 如何修改時區

php 如何修改時區

藏色散人
藏色散人原創
2022-11-24 09:28:322791瀏覽

php修改時區的方法:1、在設定檔中設定預設時區為東8區;2、透過程式碼「date_default_timezone_set('Asia/Shanghai');」設定時區;3、在PHP頁麵頭中設定“date_default_timezone_set('PRC');”。

php 如何修改時區

本教學操作環境:Windows7系統、PHP8.1版、Dell G3電腦。

php怎麼修改時區?

PHP時區設置,PHP時間問題

在web專案中很多是以時間相關的,而且有些與時間的關係非常大!前段時間做了個天氣預報15天查詢(http://tqybw.net)的專案,功能和展示與時間設置非常緊密,現在將PHP時區設置,PHP時間問題詳細解說,對有需要的同學可以學習下!

從PHP函數中的時間函數"time()"所獲得的時間可能不是標準的北京時間!原因是因為:PHP中函數int time ( void )傳回自從 Unix 紀元(格林威治時間 1970 年 1 月 1 日 00:00:00)到目前時間的秒數。

每個地區都有自己的本地時間,在網路上以及無線電通訊中,時間的轉換問題就顯得格外突出。整個地球分為二十四個時區,每個時區都有自己的本地時間。在國際無線電或網路通訊場合,為了統一起見,使用一個統一的時間,稱為通用協調時(UTC,Universal Time Coordinated),是由世界時間標準設定的全球標準時間。 UTC原先也被稱為格林威治標準時間(GMT,Greenwich Mean Time),都與英國倫敦的本地時間相同。

PHP預設的時區設定是UTC時間,而北京正好位於時區的東八區,領先UTC八個小時。所以在使用PHP中像time()等取得目前時間的函數時,得到的時間總是不對,表現是和北京時間相差八小時。如果希望正確的顯示北京時間,就需要修改預設的時區設置,可以透過以下兩種方式完成。

如果使用的是獨立的伺服器,有權限修改設定文件,設定時區就可以透過修改php.ini中的date.timezone屬性完成。我們可以將這個屬性的值設為"Asia/Shang"、"Asia/Chongqing"、"Etc/GMT-8"或PRC等中的一個,再在PHP腳本中取得的目前時間就是北京時間。修改PHP的設定檔如下所示:

1.date.timezone = Etc/GMT-8

//在設定檔中設定預設時區為東8區(北京時間)

如果您使用的是共享伺服器,沒有權限修改設定檔php.ini,且PHP版本又在5.1.0以上,也可以在輸出時間之前呼叫date_default_timezone_set()函數設定時區。此函數需要提供一個時區識別符作為參數,和設定檔中date.timezone 屬性的值相同。函數的使用如下所示:

2.在程式碼中設定時區

date_default_timezone_set('Asia/Shanghai');//'Asia/Shanghai' 亚洲/上海
date_default_timezone_set('Asia/Chongqing');//其中Asia/Chongqing'为“亚洲/重庆”
date_default_timezone_set('PRC');//其中PRC为“中华人民共和国”

注意:以上3種方法,任一都可以滿足我們需求。

3.echo date('Y-m-d H:i:s', time()); //輸出的目前時間為北京時間

在php.ini中,預設是date.timezone = UTC。修改為中國時區,修改為 date.timezone = PRC。如果直接寫 GMT 格式的,是 date.timezone = Etc/GMT 8。

另外,也可以在 PHP 頁面頭中設定。

date_default_timezone_set('PRC');

測試:

echo date('Y-m-d H:i:s');

推薦學習:《PHP影片教學

以上是php 如何修改時區的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn