php设置系统时间的方法:1、找到“date.timezone”配置项,设置希望的默认时区;2、使用“date_default_timezone_set”函数设置一个脚本中所有日期时间函数所使用的默认时区。
推荐:《PHP视频教程》
系统时区设置
对日期时间进行操作是很常见的编程任务,但在进行操作之前,我们应该确保时区的一致性,即要操作的日期时间值所用时区与 PHP 日期时间函数所用的默认时区应是一致的,否则得到的结果不会是我们期望的。在 PHP 中,设置系统默认时区有多种方式,下面我们逐一介绍:
方式一:修改 php.ini 配置文件
找到 date.timezone
配置项,去掉前面的分号,设置希望的默认时区。
修改前:
[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() 函数
用于设置一个脚本中所有日期时间函数所使用的默认时区。
语法
date_default_timezone_set( string $timezone_identifier) : bool
示例
<?php $timezone = date_default_timezone_get(); // 获取默认时区 echo 'default timezone is ', $timezone, "n"; if ($timezone !== 'Asia/Shanghai') { date_default_timezone_set('Asia/Shanghai'); // 设置默认时区 } echo 'current timezone is ', date_default_timezone_get(), "n"; ?>
方式三:ini_set() 函数
用于在运行时修改某个 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'); // 获取默认时区配置选项设置 echo 'date.timezone = ', $timezone, "n"; if ($timezone !== 'Asia/Shanghai') { ini_set('date.timezone', 'Asia/Shanghai'); // 设置默认时区 } echo 'date.timezone = ', ini_get('date.timezone'), "n"; echo 'date_default_timezone_get return ', date_default_timezone_get(), "n"; ?>
结语
方法一属于全局设置,对所有脚本生效,方法二、三只对所在脚本生效。通常,推荐使用 date_default_timezone_set()
函数来设置默认时区。此外,在新的程序中,不应再使用 Asia/Chongqing
、PRC
这些不被推荐的时区标识。