php如何设置系统时间

  • 来源:网络
  • 更新日期:2020-08-28

摘要:php设置系统时间的方法:1、找到“date.timezone”配置项,设置希望的默认时区;2、使用“date_default_timezone_set”函数设置一个脚本中所有日期时间函数所使用的默认时区。

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/ChongqingPRC 这些不被推荐的时区标识。