函數(shù)有2個:1、ini_set(),語法“ini_set('date.timezone','標識符)”;2、date_default_timezone_set(),語法“date_default_timezone_set('標識符')”。
本教程操作環(huán)境:windows7系統(tǒng)、PHP7.1版、DELL G3電腦
php時區(qū)轉換函數(shù)有兩個:
-
ini_set() 函數(shù)
-
date_default_timezone_set() 函數(shù)
1、使用 ini_set() 函數(shù)設置時區(qū)
PHP 中的 ini_set() 函數(shù)可以通過設置“date.timezone”配置選項的值來設置時區(qū)。
ini_set('date.timezone', '時區(qū)標識符')
時區(qū)標識符有很多,可以通過訪問“https://www.php.net/manual/zh/timezones.php”來查看,下面列舉了一些常用的時區(qū)標識符及其含義:
Asia/Shanghai —— 上海
Asia/Chongqing —— 重慶
Asia/Urumqi —— 烏魯木齊
Asia/Hong_Kong —— 香港
Asia/Macao —— 澳門
Asia/Taipei —— 臺北
Asia/Singapore —— 新加坡
PRC —— 中國時區(qū)
提示:在國內(nèi)的話我們將時區(qū)設置為“Asia/Shanghai 或者 PRC”都可以!
【示例】使用 ini_set() 函數(shù)設置時區(qū)
<?php header('content-type:text/html;charset=utf-8'); ini_set('date.timezone', 'GMT'); echo '當前的格林尼治時間為:'.date('Y-m-d H:i:s',time()).'<br>'; ini_set('date.timezone', 'Asia/Urumqi'); echo '烏魯木齊的當前時間為:'.date('Y-m-d H:i:s',time()).'<br>'; ini_set('date.timezone', 'Asia/Shanghai'); echo '上海的當前時間為:'.date('Y-m-d H:i:s',time()); ?>
2、使用 date_default_timezone_set() 函數(shù)設置時區(qū)
PHP 中的 date_default_timezone_set() 函數(shù)可以為腳本中的所有時間日期函數(shù)設置一個默認時區(qū),其語法格式如下:
date_default_timezone_set($timezone_identifier)
參數(shù) $timezone_identifier 為時區(qū)標識符,例如 UTC(格林尼治時間)或 Europe/Lisbon(葡萄牙)。
自 PHP5.1.0 起(此版本日期時間函數(shù)被重寫了),如果時區(qū)不合法則每個對日期時間函數(shù)的調(diào)用都會產(chǎn)生一條 E_NOTICE 級別的錯誤信息,如果使用系統(tǒng)設定或 TZ 環(huán)境變量則還會產(chǎn)生 E_STRICT 級別的信息。
【示例】使用 date_default_timezone_set() 函數(shù)設置時區(qū)
<?php header('content-type:text/html;charset=utf-8'); date_default_timezone_set('Asia/Urumqi'); echo '烏魯木齊的當前時間為:'.date('Y-m-d H:i:s',time()).'<br>'; date_default_timezone_set('Europe/Lisbon'); echo '葡萄牙的當前時間為:'.date('Y-m-d H:i:s',time()).'<br>'; date_default_timezone_set('Asia/Shanghai'); echo '上海的當前時間為:'.date('Y-m-d H:i:s',time()); ?>
推薦學習:《PHP視頻教程》