初次使用php的朋友可能發(fā)現(xiàn)我們配置好php環(huán)境之后利用php date函數(shù)輸出日期時(shí)會(huì)發(fā)現(xiàn)日期與正確日期相關(guān)8個(gè)小時(shí)哦,例:
- <?php
- echo date('Y-m-d H:i:s');
- ?〉
輸出當(dāng)前時(shí)間:2013-12-05 02:32:17,怪了,實(shí)際時(shí)間是:2013-12-05 10:32:17,難道是PHP的date()時(shí)間不正確 少8個(gè)小時(shí)?再看看PHP手冊的“例子 1. date() 例子”第一行多了一個(gè)時(shí)區(qū)設(shè)置,設(shè)定要用的默認(rèn)時(shí)區(qū),自 PHP 5.1 可用:
date_default_timezone_set('UTC');
原來php5.1.開始,php.ini里加入了date.timezone這個(gè)選項(xiàng),默認(rèn)情況下是關(guān)閉的,也就是顯示的時(shí)間(無論用什么php命令)都是格林威治標(biāo)準(zhǔn)時(shí)間,和北京時(shí)間正好差8個(gè)小時(shí),如何設(shè)置可以得到正確的PHP時(shí)間?
1、修改php.ini。打開php.ini查找date.timezone 去掉前面的分號(hào)= 后面加Asia/Shanghai,重啟apache服務(wù)器即可--缺點(diǎn)就是如果程序放到別人的服務(wù)器上,不能修改php.ini,我們可以修改php程序,代碼如下:
- <?php
- date_default_timezone_set('Asia/Chongqing');
- echo date('Y-m-d H:i:s');
- ?>
直接加上加上8小時(shí)的秒數(shù),代碼如下:
- <?php
- echo date("Y-m-d H:i:s",time()+8*60*60);
- ?>
新聞熱點(diǎn)
疑難解答