Мой php-файл размещен в какой-то другой части мира. Функции date()
и time()
возвращают дату / время на сервере. Как мне преобразовать эту дату, чтобы она совпала с моей локальной датой / временем?
Дата на сервере составляет 10 часов по сравнению с моим местным временем. Я мог бы просто записать код и выровнять его с сервера. Но каков правильный способ обойти это, чтобы никакая ценность не была жестко запрограммирована?
может использовать эту функцию date_default_timezone_set
date_default_timezone_set('Europe/Zurich');
Мне это кажется, вот список часовых поясов
Надеюсь это поможет 🙂
time()
не возвращает «время на сервере», т. е. возвращает UNIX-метку времени, которая не имеет никакого отношения к локальному часовому поясу (она всегда использует GMT, поскольку это часовой пояс). date()
форматирует такую временную метку UNIX в пользовательский формат, основанный на часовом поясе сервера. Вы можете установить собственный часовой пояс с помощью date_default_timezone_set()
(поместите его в свой date_default_timezone_set()
index.php или config.php). Для списков поддерживаемых часовых поясов см. http://php.net/manual/en/timezones.php .
В принципе, вы можете использовать time () для каждого часового пояса (он использует фиксированный часовой пояс, поэтому его значение будет одинаковым в «разных часовых поясах») и date () в сочетании с date_default_timezone_set () для печати даты / время.