了解時區
整個地球的時區總共劃分為24個時區,它們是中時區(零時區)、東1-12區,西1-12區。在每個時區都有自己的本地時間,而且,在同一時間,每個時區的本地時間會相差1-23個小時,不我們常說的就是,我們中國這裡是白天,而美國那裡是夜晚。這就是時區的不同,形成的時間差。例如,英國倫敦的本地時間與我們中國北京的本地時間相差8個小時,在國際無線電通訊領域,使用一個統一的時間,我們稱為通用協調時間(Universal Time Coordinated)簡稱UTC,UTC與格林威治標準時間(Greenwich Mean Time ,簡稱GMT)相同,都與英國倫敦的本地時間相同。
怎麼設定時區
在PHP5.0的時候,對date()函數進行了重寫,所以,目前的時間日期比系統時間少8個小時,在PHP中,預設的時間是格林威治標準時間,也就是採用的是零時區,我們一般是根據北京時間來確定全國的時間,北京屬於東八區,所以要獲取本地當前時間必須更改PHP語言的時區設定。
在PHP中,有兩種改變時區的方法:
#第一種:
##修改php.ini文件中的設置,找打[data]下的;date.timezone = 選項,去掉前面的引號,修改為:"date.timezone = Asia/Shanghai",然後重新啟動Apache伺服器#第二種:
在應用程式中,需在使用時間日期函數前新增下列函數date_default_timezone_set(timezone);參數timezone為PHP提供可辨識的時區名稱,如果時區名稱無法識別,系統會採用UTC時區。在PHP手冊中提供了各時區名稱列表,其中,設定
我國北京時間可以使用的時區包括PRC(中華人名共和國)、Asia/Chongqing(重慶)、Asia/Shanghai(上海)或Asia/Urumqi(烏魯木齊),這幾個時區名稱是等效的。
設定完成以後,date()函數就可以正常使用了,不會再有時間差的問題了。
看一下時區的範例
<?php header("Content-type:text/html;charset=utf-8"); //设置编码 echo "UTC时间:".date("Y-m-d H:i:s")."<br>"; date_default_timezone_set("PRC"); echo "北京时间:".date("Y-m-d H:i:s")."<br>"; ?>
運行的結果是:
如果將程式上傳到空間中,那麼當系統時區設定時,不能修改php.ini文件,只能使用date_default_timezone_set ()函數對時區進行設定。
#
以上是PHP日期與時間函數之繫統時區設定的詳細內容。更多資訊請關注PHP中文網其他相關文章!