Скажите, что я хочу проверить, входит ли пользователь в течение определенного периода времени (например, чтобы запретить вход в систему в течение определенного периода времени), но я хочу сделать это относительно моего часового пояса.При изменении часового пояса по умолчанию с помощью PHP, нужно ли однажды изменить его назад?
Я хотел бы сделать что-то вроде следующего:
$time = ...; // Get the start and end times for our application logic
date_default_timezone_set('America/New_York');
$currTime = new DateTime();
$startTime = new DateTime($time['StartTime']);
$endTime = new DateTime($time['EndTime']);
if($currTime > $startTime && $currTime < $endTime) { ... }
Если мы сбрасываем default_timezone
(по get
-ную его первым, а затем установить его в том, что опять же)? Описанное выше работает только для функции?
Я вижу. Не могли бы вы также объяснить, как можно установить часовой пояс во всем мире (в таком случае (например, сделать так, чтобы наше приложение всегда делало что-то относительно нашего выбранного часового пояса)? – user991710
Да, вы можете установить его в файле конфигурации, поскольку они обычно вызываются каждой страницей. Например, если у вас есть данные вашей базы данных, включенные из такого файла, вы можете добавить вместо этого свой часовой пояс. Предпочитаемый метод, конечно, состоял бы в том, чтобы установить часовую зону в php.ini для сервера или внутри специфичного для учетной записи php.ini, если ваш хост имеет настройку сервера, чтобы искать их. – Chris