【问题标题】:PHP date function is not respecting date_default_timezone_setPHP日期函数不尊重 date_default_timezone_set
【发布时间】:2021-07-08 12:39:23
【问题描述】:

我试图弄清楚为什么日期函数不尊重默认的 php 时区。 这是我的测试脚本:

<?php

echo( "date_default_timezone_get: " . date_default_timezone_get(). "\n" );
echo( "date: " . date(DATE_RFC2822) . "\n" . "gmdate: " . gmdate(DATE_RFC2822) . "\n" );
echo( "date_default_timezone_set( 'UTC' ): " . date_default_timezone_set( 'UTC' ) . "\n" );
echo( "date: " . date(DATE_RFC2822) . "\n" . "gmdate: " . gmdate(DATE_RFC2822) . "\n" );
echo( "date_default_timezone_get: " . date_default_timezone_get() );
exit;

它的输出是:

date_default_timezone_get: Europe/Rome
date: Thu, 08 Jul 2021 14:30:40 +0200
gmdate: Thu, 08 Jul 2021 12:30:40 +0000
date_default_timezone_set( 'UTC' ): 1
date: Thu, 08 Jul 2021 14:30:40 +0200
gmdate: Thu, 08 Jul 2021 12:30:40 +0000
date_default_timezone_get: UTC

如您所见,当我将默认时区设置为 UTC 时,日期函数不会改变它的输出

我在 debian 10 机器上使用 php fpm 7.4

> php -v
PHP 7.4.20 (cli) (built: Jun  4 2021 23:17:27) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
    with Zend OPcache v7.4.20, Copyright (c), by Zend Technologies

【问题讨论】:

    标签: php debian php-7.4


    【解决方案1】:

    通过更新到 PHP 的次要版本解决

    【讨论】:

      猜你喜欢
      • 2013-02-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多