php設(shè)置系統(tǒng)時間的方法:1、找到“date.timezone”配置項,設(shè)置希望的默認時區(qū);2、使用“date_default_timezone_set”函數(shù)設(shè)置一個腳本中所有日期時間函數(shù)所使用的默認時區(qū)。
推薦:《PHP視頻教程》
系統(tǒng)時區(qū)設(shè)置
對日期時間進行操作是很常見的編程任務(wù),但在進行操作之前,我們應(yīng)該確保時區(qū)的一致性,即要操作的日期時間值所用時區(qū)與 PHP 日期時間函數(shù)所用的默認時區(qū)應(yīng)是一致的,否則得到的結(jié)果不會是我們期望的。在 PHP 中,設(shè)置系統(tǒng)默認時區(qū)有多種方式,下面我們逐一介紹:
方式一:修改 php.ini 配置文件
找到 date.timezone
配置項,去掉前面的分號,設(shè)置希望的默認時區(qū)。
修改前:
[Date] ; Defines the default timezone used by the date functions ; http://php.net/date.timezone ;date.timezone =
修改后:
[Date] ; Defines the default timezone used by the date functions ; http://php.net/date.timezone date.timezone = Asia/Shanghai
方式二:date_default_timezone_set() 函數(shù)
用于設(shè)置一個腳本中所有日期時間函數(shù)所使用的默認時區(qū)。
語法
date_default_timezone_set( string $timezone_identifier) : bool
示例
<?php $timezone = date_default_timezone_get(); // 獲取默認時區(qū) echo 'default timezone is ', $timezone, "n"; if ($timezone !== 'Asia/Shanghai') { date_default_timezone_set('Asia/Shanghai'); // 設(shè)置默認時區(qū) } echo 'current timezone is ', date_default_timezone_get(), "n"; ?>
方式三:ini_set() 函數(shù)
用于在運行時修改某個 php.ini
配置值。
語法
ini_set( string $varname, string $newvalue) : string
示例
<?php echo 'date_default_timezone_get return ', date_default_timezone_get(), "n"; $timezone = ini_get('date.timezone'); // 獲取默認時區(qū)配置選項設(shè)置 echo 'date.timezone = ', $timezone, "n"; if ($timezone !== 'Asia/Shanghai') { ini_set('date.timezone', 'Asia/Shanghai'); // 設(shè)置默認時區(qū) } echo 'date.timezone = ', ini_get('date.timezone'), "n"; echo 'date_default_timezone_get return ', date_default_timezone_get(), "n"; ?>
結(jié)語
方法一屬于全局設(shè)置,對所有腳本生效,方法二、三只對所在腳本生效。通常,推薦使用 date_default_timezone_set()
函數(shù)來設(shè)置默認時區(qū)。此外,在新的程序中,不應(yīng)再使用 Asia/Chongqing
、PRC
這些不被推薦的時區(qū)標識。