溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

php顯示時(shí)間與實(shí)際時(shí)間不同的解決方法

發(fā)布時(shí)間:2021-09-08 09:48:11 來(lái)源:億速云 閱讀:237 作者:小新 欄目:編程語(yǔ)言

這篇文章主要介紹php顯示時(shí)間與實(shí)際時(shí)間不同的解決方法,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!

解決方法:1、使用“ini_set('date.timezone','PRC')”設(shè)置時(shí)區(qū);2、使用“date_default_timezone_set('PRC')”設(shè)置時(shí)區(qū);3、在配置文件中,設(shè)置“date.timezone=PRC”。

本教程操作環(huán)境:windows7系統(tǒng)、PHP7.1版,DELL G3電腦

在PHP中,顯示時(shí)間與實(shí)際時(shí)間不一致,是因?yàn)闀r(shí)區(qū)設(shè)置錯(cuò)了。

全球分為 24 個(gè)時(shí)區(qū),每個(gè)時(shí)區(qū)都有自己的本地時(shí)間,同一時(shí)間內(nèi)各時(shí)區(qū)的本地時(shí)間相差 1~23 小時(shí),如英國(guó)倫敦本地時(shí)間與北京本地時(shí)間相差 8 個(gè)小時(shí)。

想要將顯示時(shí)間與實(shí)際時(shí)間設(shè)置一樣,就需要將時(shí)區(qū)設(shè)置為本地時(shí)區(qū),下面是一些常用時(shí)區(qū)標(biāo)識(shí)符及其含義:

  • Asia/Shanghai —— 上海

  • Asia/Chongqing —— 重慶

  • Asia/Urumqi —— 烏魯木齊

  • Asia/Hong_Kong —— 香港

  • Asia/Macao —— 澳門

  • Asia/Taipei —— 臺(tái)北

  • Asia/Singapore —— 新加坡

  • PRC —— 中國(guó)時(shí)區(qū)

注:在國(guó)內(nèi)的話我們將時(shí)區(qū)設(shè)置為“Asia/Shanghai 或者 PRC”都可以,設(shè)置成功之后記得重啟一下服務(wù)器

下面看看設(shè)置時(shí)區(qū)的方法:

方法1:使用 ini_set() 函數(shù)設(shè)置時(shí)區(qū)

PHP 中的 ini_set() 函數(shù)可以設(shè)置指定配置選項(xiàng)的值,這個(gè)配置選項(xiàng)會(huì)在腳本運(yùn)行時(shí)保持新的值,并在腳本結(jié)束時(shí)恢復(fù)。函數(shù)的語(yǔ)法格式如下:

ini_set($varname, $newvalue)

其中 $varname 為待修改的配置選項(xiàng),$newvalue 為配置選項(xiàng)的新值。

示例:

<?php
header("Content-type:text/html;charset=utf-8"); 
ini_set('date.timezone', 'GMT');
echo '當(dāng)前的格林尼治時(shí)間為:'.date('Y-m-d H:i:s',time()).'<br>';
ini_set('date.timezone', 'PRC');
echo '國(guó)內(nèi)當(dāng)前時(shí)間為:'.date('Y-m-d H:i:s',time());
?>

輸出結(jié)果:

php顯示時(shí)間與實(shí)際時(shí)間不同的解決方法

方法2:使用 date_default_timezone_set() 函數(shù)設(shè)置時(shí)區(qū)

PHP 中的 date_default_timezone_set() 函數(shù)可以為腳本中的所有時(shí)間日期函數(shù)設(shè)置一個(gè)默認(rèn)時(shí)區(qū),其語(yǔ)法格式如下:

date_default_timezone_set($timezone_identifier)

參數(shù) $timezone_identifier 為時(shí)區(qū)標(biāo)識(shí)符,例如 UTC(格林尼治時(shí)間)或 Europe/Lisbon(葡萄牙)。

自 PHP5.1.0 起(此版本日期時(shí)間函數(shù)被重寫了),如果時(shí)區(qū)不合法則每個(gè)對(duì)日期時(shí)間函數(shù)的調(diào)用都會(huì)產(chǎn)生一條 E_NOTICE 級(jí)別的錯(cuò)誤信息,如果使用系統(tǒng)設(shè)定或 TZ 環(huán)境變量則還會(huì)產(chǎn)生 E_STRICT 級(jí)別的信息。

示例:

<?php
header("Content-type:text/html;charset=utf-8"); 
date_default_timezone_set('Europe/Lisbon');
echo '葡萄牙的當(dāng)前時(shí)間為:'.date('Y-m-d H:i:s',time()).'<br>';
date_default_timezone_set('PRC');
echo '國(guó)內(nèi)當(dāng)前時(shí)間為:'.date('Y-m-d H:i:s',time());
?>

輸出結(jié)果:

php顯示時(shí)間與實(shí)際時(shí)間不同的解決方法

方法3:在配置文件php.ini中設(shè)置

PHP 的配置文件就是在 PHP 安裝目錄下的 php.ini 文件,找到并打開它。然后在文件中搜索date.timezone,我們會(huì)看到如下所示的一段信息:

[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
;date.timezone =

其中;date.timezone =前面的;與 PHP 中的//功能相同,都是注釋的意思,這里我們需要將這個(gè);去掉,并在這一句的=后面填寫對(duì)應(yīng)的時(shí)區(qū)標(biāo)識(shí)符,如下所示:

[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
date.timezone = PRC

擴(kuò)展知識(shí):亞洲可以設(shè)置的時(shí)區(qū)標(biāo)識(shí)符

Asia/AdenAsia/AlmatyAsia/AmmanAsia/Anadyr
Asia/AqtauAsia/AqtobeAsia/AshgabatAsia/Atyrau
Asia/BaghdadAsia/BahrainAsia/BakuAsia/Bangkok
Asia/BarnaulAsia/BeirutAsia/BishkekAsia/Brunei
Asia/ChitaAsia/ChoibalsanAsia/ColomboAsia/Damascus
Asia/DhakaAsia/DiliAsia/DubaiAsia/Dushanbe
Asia/FamagustaAsia/GazaAsia/HebronAsia/Ho_Chi_Minh
Asia/Hong_KongAsia/HovdAsia/IrkutskAsia/Jakarta
Asia/JayapuraAsia/JerusalemAsia/KabulAsia/Kamchatka
Asia/KarachiAsia/KathmanduAsia/KhandygaAsia/Kolkata
Asia/KrasnoyarskAsia/Kuala_LumpurAsia/KuchingAsia/Kuwait
Asia/MacauAsia/MagadanAsia/MakassarAsia/Manila
Asia/MuscatAsia/NicosiaAsia/NovokuznetskAsia/Novosibirsk
Asia/OmskAsia/OralAsia/Phnom_PenhAsia/Pontianak
Asia/PyongyangAsia/QatarAsia/QostanayAsia/Qyzylorda
Asia/RiyadhAsia/SakhalinAsia/SamarkandAsia/Seoul
Asia/ShanghaiAsia/SingaporeAsia/SrednekolymskAsia/Taipei
Asia/TashkentAsia/TbilisiAsia/TehranAsia/Thimphu
Asia/TokyoAsia/TomskAsia/UlaanbaatarAsia/Urumqi
Asia/Ust-NeraAsia/VientianeAsia/VladivostokAsia/Yakutsk
Asia/YangonAsia/YekaterinburgAsia/Yerevan

以上是“php顯示時(shí)間與實(shí)際時(shí)間不同的解決方法”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

php
AI