西西軟件園多重安全檢測下載網(wǎng)站、值得信賴的軟件下載站!
軟件
軟件
文章
搜索

首頁編程開發(fā)其它知識(shí) → 修改國外主機(jī)的PHP、MySQL時(shí)區(qū)設(shè)置 以實(shí)現(xiàn)國外主機(jī)時(shí)間與國內(nèi)同步

修改國外主機(jī)的PHP、MySQL時(shí)區(qū)設(shè)置 以實(shí)現(xiàn)國外主機(jī)時(shí)間與國內(nèi)同步

相關(guān)軟件相關(guān)文章發(fā)表評(píng)論 來源:本站整理時(shí)間:2010/11/3 10:08:07字體大。A-A+

作者:佚名點(diǎn)擊:537次評(píng)論:0次標(biāo)簽: PHP MySQL 國外主機(jī)

  • 類型:手機(jī)工具大。2.8M語言:中文 評(píng)分:6.8
  • 標(biāo)簽:
立即下載

出于國內(nèi)主機(jī)的費(fèi)用、ICP備案等問題,現(xiàn)在很多朋友都租賃、購買國外主機(jī),可是國外主機(jī)顯示的是當(dāng)?shù)貢r(shí)間,那么怎么設(shè)置成國內(nèi)時(shí)間呢?

所謂的時(shí)間問題歸根結(jié)底也就是“時(shí)區(qū)”問題,我們首先要知道的是:
1、美國時(shí)間和中國時(shí)間相差應(yīng)該是8小時(shí)。
2、PHP的時(shí)間和MySQL的時(shí)間不是相同的。

所以,我們所要做的事情就是:
1、把美國時(shí)間改成中國時(shí)間。
2、并且要把PHP的時(shí)間和MySQL的時(shí)間統(tǒng)一。


一、修改MySQL時(shí)間

如果你在寫程序的時(shí)候,習(xí)慣了用類或者函數(shù),那么恭喜你,這一步你同樣只需要一次復(fù)制粘貼操作就能將它解決。如果你在寫程序的從來不用類或者函數(shù),那么我會(huì)祈禱耶穌和釋迦牟尼一同保佑你,不會(huì)在改程序的時(shí)候累得很慘,同時(shí)希望你改掉這個(gè)不好的編程習(xí)慣。那么,就請(qǐng)?jiān)赑HP程序有數(shù)據(jù)庫連接的下一語句(只有1次,就加1句;若有無數(shù)次,就加無數(shù)次……這個(gè)編程習(xí)慣,還是重要啊)加入如下代碼:復(fù)制內(nèi)容到剪貼板代碼:

mysql_query("SET time_zone = '+8:00'") or die('時(shí)區(qū)設(shè)置失敗,請(qǐng)聯(lián)系管理員!');再去SELECT NOW();下,你會(huì)驚喜地發(fā)現(xiàn),MySQL也是中國時(shí)間了。為什么是+8:00呢?前面我說過了,中國時(shí)間和美國時(shí)間差8小時(shí),往那個(gè)那個(gè)貌似向東還是向西的方向來著?(不好意思我是路盲,我在怪地球是圓的)。OK,現(xiàn)在MySQL的時(shí)間也搞定了,我相信現(xiàn)在就會(huì)有比較嚴(yán)謹(jǐn)朋友問了:那你如何證明PHP的時(shí)間和MySQL的時(shí)間是同步呢?啊……這個(gè)人與人之間的信任,還是重要的,就像匯款,哈哈,那我們來做個(gè)測試吧:復(fù)制內(nèi)容到剪貼板代碼:

//這里是頁面的開頭,用于改PHP時(shí)間的代碼。
date_default_timezone_set('PRC') or die('時(shí)區(qū)設(shè)置失敗,請(qǐng)聯(lián)系管理員!');

//-------------------------------------------------------------
//
// 這里寫數(shù)據(jù)庫連接的代碼,別懶,自己寫。
//
//-------------------------------------------------------------

//數(shù)據(jù)庫一旦連接,緊跟著就是改MySQL時(shí)間的代碼。
mysql_query("SET time_zone = '+8:00'") or die('時(shí)區(qū)設(shè)置失敗,請(qǐng)聯(lián)系管理員!');

//顯示PHP的時(shí)間
echo date('Y-m-d H:i:s');

echo


//顯示MySQL的時(shí)間
$mysql_time = mysql_query("SELECT NOW()");
$mysql_rows = mysql_fetch_row($mysql_time);

echo $mysql_rows[0];


二、修改PHP時(shí)間

聽上去有點(diǎn)小復(fù)雜,其實(shí)很簡單。首先我們來改PHP的時(shí)間,將這句代碼插入到PHP程序中,公共調(diào)用頁的頂部(也就是要include_once,require_once到的腳本里,當(dāng)然你不用_once我也沒有意見),確保需要用到時(shí)間的頁面都必須調(diào)用到:復(fù)制內(nèi)容到剪貼板代碼:

date_default_timezone_set('PRC') or die('時(shí)區(qū)設(shè)置失敗,請(qǐng)聯(lián)系管理員!');現(xiàn)在測試下:復(fù)制內(nèi)容到剪貼板代碼:

echo date('Y-m-d H:i:s');怎么樣?哇哈哈,正確顯示中國時(shí)間了,當(dāng)然你要說北京時(shí)間我也沒意見。至于那個(gè)參數(shù)PRC是什么意思,我記得是某個(gè)神奇的土地之縮寫,不用管它,照搬就行了,錯(cuò)不了的。成功了?NO,不要得意得太早,在MySQL里輸入語句SELECT NOW();你會(huì)驚愕的發(fā)現(xiàn),MySQL的時(shí)間還是美國時(shí)間。不急,我們返回到上一步,已經(jīng)設(shè)置好了。

    相關(guān)評(píng)論

    閱讀本文后您有什么感想? 已有人給出評(píng)價(jià)!

    • 8 喜歡喜歡
    • 3 頂
    • 1 難過難過
    • 5 囧
    • 3 圍觀圍觀
    • 2 無聊無聊

    熱門評(píng)論

    最新評(píng)論

    發(fā)表評(píng)論 查看所有評(píng)論(0)

    昵稱:
    表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
    字?jǐn)?shù): 0/500 (您的評(píng)論需要經(jīng)過審核才能顯示)