bet*_*eth 7 php timezone web-applications superglobals
服务器上发生什么设置请求时间?是否考虑了配置服务器的时区?
我问,因为我需要知道,如果我有一个将时区设置为站点范围变量的站点,并且我将其比较$_SERVER['REQUEST_TIME']以确定它是否已过期,我不确定时区是否可能不匹配.
Eve*_*ert 10
$_SERVER这'REQUEST_TIME'是一个Unix时间戳.这应该是足够的信息,但如果不是:Unix时间戳总是基于UTC.
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对象强制到不同的时区 - 仅在以后更改时区.