在之前的文章中給大家?guī)?lái)了《帶你一起了解PHP的錯(cuò)誤類(lèi)型和錯(cuò)誤級(jí)別》,其中詳細(xì)介紹了PHP中的錯(cuò)誤類(lèi)型和錯(cuò)誤級(jí)別,本篇文章我們一起來(lái)看一下,我們應(yīng)該怎樣在PHP中設(shè)置時(shí)區(qū),希望對(duì)大家有幫助!
在我們的日常生活中,時(shí)間是很重要并且必不可少的,同樣的在PHP中也是一樣的,在我們的日常開(kāi)發(fā)中,有時(shí)用到時(shí)間需要儲(chǔ)存起來(lái)記錄某件事的時(shí)候,我們應(yīng)該怎樣去設(shè)置時(shí)間呢?
在PHP中可以通過(guò)日期的時(shí)間函數(shù)來(lái)獲取日期和時(shí)間,PHP中的日期和時(shí)間函數(shù)是通過(guò)服務(wù)器的時(shí)間來(lái)設(shè)置,服務(wù)器的時(shí)間默認(rèn)是的是格林尼治時(shí)間。
PHP中時(shí)區(qū)的設(shè)置
想要更改PHP中的時(shí)間為本地時(shí)間的話需要更改PHP語(yǔ)言中的時(shí)區(qū)設(shè)置。在PHP中設(shè)置語(yǔ)言的時(shí)區(qū)有三種方法,接下來(lái)我們一起來(lái)看看:
-
在配置文件中配置
PHP中的配置文件就是php.ini文件,至于怎么找到這個(gè)文件,我在之前的《PHP如何上傳文件?看完就明白了!》中講到過(guò),大家感興趣的話可以點(diǎn)擊查看一下。找到php.ini之后,在文件中查找date.timezone,找到如下結(jié)果:
其中Asia/Shangha表示的就是時(shí)區(qū),也叫做時(shí)區(qū)標(biāo)識(shí)符。這樣的時(shí)區(qū)標(biāo)識(shí)符還有很多,給大家列舉一些常用的時(shí)區(qū)標(biāo)識(shí)符:
Asia/Shanghai —— 上海
Asia/Chongqing —— 重慶
Asia/Hong_Kong —— 香港
Asia/Macao —— 澳門(mén)
Asia/Taipei —— 臺(tái)北
PRC —— 中國(guó)時(shí)區(qū)
需要注意的是,當(dāng)我們時(shí)區(qū)設(shè)置完成之后需要重啟一下服務(wù)器,失去的設(shè)置才生效。
-
使用
date_default_timezone_set()
函數(shù)設(shè)置時(shí)區(qū)
在PHP中,date_default_timezone_set() 函數(shù)能夠所有的日期函數(shù)設(shè)置一個(gè)默認(rèn)時(shí)區(qū),它的語(yǔ)法格式如下:
date_default_timezone_set(時(shí)區(qū)標(biāo)識(shí)符)
示例如下:
<?php date_default_timezone_set('Asia/Hong_Kong'); echo '香港的當(dāng)前時(shí)間為:'.date('Y-m-d H:i:s',time()).'<br>'; date_default_timezone_set('Asia/Macao'); echo '澳門(mén)的當(dāng)前時(shí)間為:'.date('Y-m-d H:i:s',time()).'<br>'; date_default_timezone_set('Asia/Shanghai'); echo '上海的當(dāng)前時(shí)間為:'.date('Y-m-d H:i:s',time()); ?>
輸出結(jié)果:
由上述結(jié)果可以看出,通過(guò)date_default_timezone_set() 函數(shù)能夠設(shè)置一個(gè)時(shí)區(qū)。
-
使用
ini_set()
函數(shù)設(shè)置時(shí)區(qū)
PHP 中的 ini_set() 函數(shù)可以設(shè)置指定配置選項(xiàng)的值,它會(huì)在腳本運(yùn)行時(shí)保持新的值,并在腳本結(jié)束時(shí)恢復(fù)。函數(shù)的語(yǔ)法格式如下:
ini_set(待修改的選項(xiàng), 該選項(xiàng)新的值)
示例如下:
<?php ini_set('date.timezone', 'GMT'); echo '當(dāng)前的格林尼治時(shí)間為:'.date('Y-m-d H:i:s',time()).'<br>'; ini_set('date.timezone', 'Asia/Hong_Kong'); echo '香港的當(dāng)前時(shí)間為:'.date('Y-m-d H:i:s',time()).'<br>'; ini_set('date.timezone', 'Asia/Shanghai'); echo '上海的當(dāng)前時(shí)間為:'.date('Y-m-d H:i:s',time()); ?>
輸出結(jié)果:
由上市示例看出,當(dāng)腳本恢復(fù)時(shí),重新配置一個(gè)新的選項(xiàng),設(shè)置的時(shí)區(qū)選項(xiàng)會(huì)保持新的值。
大家如果感興趣的話,可以點(diǎn)擊《PHP視頻教程》進(jìn)行