php中用date函數擷取目前時間有誤的解決辦法_PHP教程

來源:互聯網
上載者:User
初學PHP做網站,想在頁面上獲得目前時間,學過編程的人都知道用時間函數date(),先用這個函數格式化一個本地時間/日期,先寫個測試代碼吧,結果輸出時間比實際時間少了8小時,這是什麼原因呢:
複製代碼 代碼如下:
echo date('Y-m-d H:i:s');
?〉

輸出目前時間: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 大家可以在官方網站中查到。

http://www.bkjia.com/PHPjc/328097.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/328097.htmlTechArticle初學PHP做網站,想在頁面上獲得目前時間,學過編程的人都知道用時間函數date(),先用這個函數格式化一個本地時間/日期,先寫個測試代...

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.