函數(shù)有2個(gè):1、ini_set(),語(yǔ)法“ini_set('date.timezone','標(biāo)識(shí)符)”;2、date_default_timezone_set(),語(yǔ)法“date_default_timezone_set('標(biāo)識(shí)符')”。
本教程操作環(huán)境:windows7系統(tǒng)、PHP7.1版、DELL G3電腦
php時(shí)區(qū)轉(zhuǎn)換函數(shù)有兩個(gè):
-
ini_set() 函數(shù)
-
date_default_timezone_set() 函數(shù)
1、使用 ini_set() 函數(shù)設(shè)置時(shí)區(qū)
PHP 中的 ini_set() 函數(shù)可以通過(guò)設(shè)置“date.timezone”配置選項(xiàng)的值來(lái)設(shè)置時(shí)區(qū)。
ini_set('date.timezone', '時(shí)區(qū)標(biāo)識(shí)符')
時(shí)區(qū)標(biāo)識(shí)符有很多,可以通過(guò)訪問(wèn)“https://www.php.net/manual/zh/timezones.php”來(lái)查看,下面列舉了一些常用的時(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”都可以!
【示例】使用 ini_set() 函數(shù)設(shè)置時(shí)區(qū)
<?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', 'Asia/Urumqi'); 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()); ?>
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í)別的信息。
【示例】使用 date_default_timezone_set() 函數(shù)設(shè)置時(shí)區(qū)
<?php header('content-type:text/html;charset=utf-8'); date_default_timezone_set('Asia/Urumqi'); echo '烏魯木齊的當(dāng)前時(shí)間為:'.date('Y-m-d H:i:s',time()).'<br>'; date_default_timezone_set('Europe/Lisbon'); echo '葡萄牙的當(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()); ?>
推薦學(xué)習(xí):《PHP視頻教程》