服务器上会发生什么来设置请求时间?它是否考虑到配置服务器的时区?
我之所以问是因为我需要知道,如果我有一个将时区设置为站点范围变量的站点,并且我将某些内容与它进行比较$_SERVER['REQUEST_TIME']
以了解它是否已过期,我不确定是否可能存在时区不匹配.
服务器上会发生什么来设置请求时间?它是否考虑到配置服务器的时区?
我之所以问是因为我需要知道,如果我有一个将时区设置为站点范围变量的站点,并且我将某些内容与它进行比较$_SERVER['REQUEST_TIME']
以了解它是否已过期,我不确定是否可能存在时区不匹配.
$_SERVER
's'REQUEST_TIME'
是一个 Unix 时间戳。这应该是足够的信息,但如果不是:Unix 时间戳总是基于 UTC。
Unix 时间戳记的表示法DateTime
是在数字前加上 at 符号 (" @
")。然后第二个$timeZone
参数是 ingored 并默认为“ UTC
”,因为它是一个始终基于 UTC 的 Unix 时间戳:
$requestTime = new DateTime("@$_SERVER[REQUEST_TIME]");
给出:
class DateTime#1 (3) {
public $date => string(19) "2013-06-23 07:45:44"
public $timezone_type => int(1)
public $timezone => string(6) "+00:00"
}
甚至不可能(通过构造时的时间戳)将DateTime
对象强制到不同的时区 - 只能在稍后更改时区。