Таким образом, я из Великобритании и имею хостинг в США. Я связался со своим хостом и сказал, что мое время сервера установлено 6 часов позади GMT. Они сказали, что я должен изменить это в своем CMS.
Как я пошел бы о выполнении этого? Каждый раз, когда я поместил теперь (), я получаю неправильное время.
Никогда не замечаемый это прежде, кто-либо мог предложить какие-либо предложения?
Вы можете изменить часовой пояс с помощью PHP
putenv("TZ=Europe/London");
или, если это приведет к ошибке:
date_default_timezone_set('Europe/London');
В качестве альтернативы, если вы можете получить доступ к своему php.ini (возможно, не из-за вашего хостинга)
date.timezone = "Europe/London"
Измените настройку на указанную выше, и все будет в порядке. В дополнение к вышесказанному - вы можете установить php.ini с помощью PHP
ini_set('date.timezone', 'Europe/London');
http://www.php.net/manual/en/timezones.europe.php
В спешке с ответом - вы можете написать GMT вместо Europe / London
Для MySQL - вы можете выполнить SET time_zone = 'GMT'
перед вашими запросами, чтобы установить часовой пояс документы конфигурации time_zone .
Для PHP - вы можете выполнить date_default_timezone_set ()
, используя один из поддерживаемых часовых поясов . Вы также можете установить значение с помощью директивы .htaccess
:
php_value date.timezone UTC
Вы можете выяснить, на сколько секунд вы находитесь впереди того места в США, где установлено время сервера, и добавить это значение к вашей временной метке, чтобы получить правильное время.
Например, если сервер находится в Нью-Йорке, то это на 18000 секунд отстает от лондонского времени. Таким образом, правильная дата будет выглядеть следующим образом:
Используйте DateTime::setTimeZone для определения часового пояса. Документация находится в http://www.php.net/manual/en/datetime.settimezone.php