Как установить часовой пояс в PHP - PullRequest
2 голосов
/ 24 июня 2011

У меня есть сайт со списком магазинов в разных странах (разных часовых поясах), и он должен отображаться, когда магазин ОТКРЫТ или ЗАКРЫТ в рабочее время.

У меня есть javascript, который получает смещение часового пояса DEFAULT GMT, когда летнее время не установлено, поместите его в mysql, и эта часть будет работать правильно.

Мой часовой пояс GMT + 1 (и сейчас летнее время активно, поэтому сейчас +1 час)

Я использую php для изменения зоны, используя это:

date_default_timezone_set('Etc/GMT+1');
echo date('h');

Время здесь: 10 вечера

время по Гринвичу: 8 вечера

И этот код возврата: 7 вечера

Так что вместо этого он увеличивается на 1, уменьшается, и плюс нет перехода на летнее время ...

Может кто-нибудь сказать мне, что здесь происходит? Это ошибка php или что-то не так на сервере?

Спасибо ...

Ответы [ 2 ]

2 голосов
/ 24 июня 2011

Я сейчас хихикаю, потому что недавно у меня была похожая проблема .К сожалению, часовые пояса Etc / GMT устарели.Они ломаются.Моя личная рекомендация?Просто используйте ЧЧ: ММ или установите его по городу (города не требуют корректировки на летнее время!)

0 голосов
/ 24 июня 2011

Возможно, дата («Я») может помочь в этой ситуации.
Если нет возможности определить список поиска [смещение по Гринвичу] - [имя часового пояса]. Тогда можно будет настроить часовой пояс, используя классы DateTime \ DateTimeZone.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...