PHP的$ _SERVER [REQUEST_TIME]是如何设置的?

bet*_*eth 7 php timezone web-applications superglobals

服务器上发生什么设置请求时间?是否考虑了配置服务器的时区?

我问,因为我需要知道,如果我有一个将时区设置为站点范围变量的站点,并且我将其比较$_SERVER['REQUEST_TIME']以确定它是否已过期,我不确定时区是否可能不匹配.

Eve*_*ert 10

$_SERVER'REQUEST_TIME'是一个Unix时间戳.这应该是足够的信息,但如果不是:Unix时间戳总是基于UTC.

PHP示例

Unix时间戳的表示法DateTime是在数字前加上at符号(" @").然后第二个$timeZone参数被加入并默认为" UTC",因为它是一个始终基于UTC的Unix时间戳:

$requestTime = new DateTime("@$_SERVER[REQUEST_TIME]");
Run Code Online (Sandbox Code Playgroud)

得到:

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"
}
Run Code Online (Sandbox Code Playgroud)

甚至不可能(通过构造时的时间戳)将DateTime对象强制到不同的时区 - 仅在以后更改时区.