首頁  >  文章  >  後端開發  >  如何解決php時間函數取得時間錯誤問題

如何解決php時間函數取得時間錯誤問題

藏色散人
藏色散人原創
2021-09-18 10:20:383066瀏覽

php時間函數取得時間錯誤的解決方法:1、設定要用的預設時區;2、開啟php.ini找出「date.timezone」並去掉前面的分號;3、在程式中加入時間的初始化的語句即可。

如何解決php時間函數取得時間錯誤問題

本文操作環境:Windows7系統、PHP7.1版,Dell G3電腦

如何解決php時間函數取得時間錯誤問題?

php中用date函數取得當前時間有誤的解決方案

#初學PHP做網站,想在頁面上取得當前時間,學過編程的人都知道用時間函數date(),先用這個函數格式化一個本地時間/日期,先寫個測試程式碼吧,結果輸出時間比實際時間少了8小時,這是什麼原因呢:

程式碼如下:

<?php 
    echo date(&#39;Y-m-d H:i:s&#39;);

輸出目前時間:2008-10-12 02:32:17
怪了,實際時間是:2008-10-12 10:32:17

難道是PHP的date()時間不正確少8小時?
再看看PHP手冊的「範例 1. date() 範例」第一行多了一個 時區設定
// 設定要用的預設時區。自PHP 5.1 可用
date_default_timezone_set('UTC');

##原來php5.1.開始,php.ini裡加入了date.timezone這個選項,預設是關閉的,也就是顯示的時間(無論用什麼php指令)都是格林威治標準時間,和北京時間剛好差8個小時。

如何設定可以得到正確的PHP時間?

1、修改php.ini。 打開php.ini找date.timezone 去掉前面的分號= 後面加Asia/Shanghai,重啟apache伺服器即可--缺點就是如果程式放到別人的伺服器上,不能修改php .ini,那就奈何不得了。

2、在程式中加入時間的初始化的語句的 即:「date_default_timezone_set("Asia/Shanghai"); 」這個可以由程式設計師任意設定,我的推薦。 時區識別符,大陸內地可用的值是:PRC,Asia/Chongqing ,Asia/Shanghai ,Asia/Urumqi (依次為中國,重慶,上海,烏魯木齊) ,Etc/GMT-8,Asia/Harbin

港台地區可用:Asia/Macao ,Asia/Hong_Kong ,Asia/Taipei (依序為澳門,香港,台北)還有新加坡:Asia/Singapore

這樣就可以實現輸出的是北京時間了。

更詳細的時區代碼 時區編碼 時區索引碼 timezone_identifier 大家可以在官方網站中查到。

推薦學習:《

PHP影片教學

以上是如何解決php時間函數取得時間錯誤問題的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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