PHP默认时区是哪里?会受到服务器时区影响吗?

问题:PHP默认时区是哪里?会受到服务器时区影响吗?

准备环境

OS:CentOS 7
PHP:PHP 7.3.0

查看CentOS 7当前时区

[root@sy-pc ~]# timedatectl
      Local time: Sat 2019-08-31 14:53:32 CST
  Universal time: Sat 2019-08-31 06:53:32 UTC
        RTC time: Sat 2019-08-31 06:53:31
       Time zone: Asia/Shanghai (CST, +0800)
     NTP enabled: no
NTP synchronized: no
 RTC in local TZ: no
      DST active: n/a

timedatectl的其他命令:
1、timedatectl查看时间各种状态
2、timedatectl list-timezones 列出所有时区
3、timedatectl set-local-rtc 1 将硬件时钟调整为与本地时钟一致, 0 为设置为 UTC 时间
4、timedatectl set-timezone Asia/Shanghai 设置系统时区为上海

php.ini文件中,注释 date.timezone

; Defines the default timezone used by the date functions
; http://php.net/date.timezone
;date.timezone = Asia/Shanghai

PHP代码

PHP

<?php

$time = time();
var_dump($time);

var_dump(date_default_timezone_get());
var_dump(date('Y-m-d H:i:s', $time));

date_default_timezone_set('Europe/London');
var_dump(date_default_timezone_get());
var_dump(date('Y-m-d H:i:s', $time));

date_default_timezone_set('Asia/Shanghai');
var_dump(date_default_timezone_get());
var_dump(date('Y-m-d H:i:s', $time));

date_default_timezone_set('America/New_York');
var_dump(date_default_timezone_get());
var_dump(date('Y-m-d H:i:s', $time));

输出结果

int(1567234155)
string(3) "UTC"
string(19) "2019-08-31 06:49:15"
string(13) "Europe/London"
string(19) "2019-08-31 06:49:15"
string(13) "Asia/Shanghai"
string(19) "2019-08-31 14:49:15"
string(16) "America/New_York"
string(19) "2019-08-31 02:49:15"

phpinfo()函数结果

在这里插入图片描述

结论

  • 若php未设置默认时区,则PHP使用UTC时间。
    UTC时间和伦敦时间相同,可以看成是0时区的时间。

  • PHP默认时区,不受服务器时区影响。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值