Что происходит на сервере, чтобы установить время запроса? Учитывается ли часовой пояс, на который настроен сервер?
Я спрашиваю, потому что мне нужно знать, есть ли у меня сайт с часовым поясом, установленным в качестве общесайтовой переменной, и я сравниваю что-то с $_SERVER['REQUEST_TIME']
, чтобы узнать, истек ли он, я не уверен, возможно несоответствие часового пояса.
1 ответ
$_SERVER
'REQUEST_TIME'
- это временная метка Unix. Этого должно быть достаточно информации, но если это не так: временные метки Unix всегда основаны на UTC.
Пример PHP
Обозначение временных меток Unix в DateTime
заключается в добавлении к числу префикса знака at (" @
"). Затем второй параметр $timeZone
вводится и по умолчанию имеет значение "UTC
", потому что это временная метка Unix, которая всегда основана на UTC:
$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
установить другой часовой пояс - только позже изменение часового пояса.
Похожие вопросы
Новые вопросы
php
PHP — это широко используемый язык сценариев общего назначения с открытым исходным кодом, мультипарадигмальный, динамически типизированный и интерпретируемый, изначально разработанный для веб-разработки на стороне сервера. Используйте этот тег для вопросов о программировании на языке PHP.
@
перед меткой времени была связана с тем, что вы просто отключили PHPE_Notice
, потому что в нем, вероятно, нет элементаREQUEST_TIME
. Но после того, как попробовали и прочитали документы < / a> Могу сказать, что это правильно.