Я хотел бы иметь возможность угадать смещение часового пояса пользователя и применять ли переход на летнее время. В настоящее время наиболее полный код, который я нашел для этого, находится здесь:
http://www.michaelapproved.com/articles/daylight-saving-time-dst-detect/
Так что это дает мне смещение вместе с индикатором DST.
Теперь я хочу использовать их в моих сценариях PHP, чтобы вывести локальную дату / время для пользователя .... но что лучше для этого? Я полагаю, у меня есть 2 варианта:
a) Выберите случайный часовой пояс с таким же смещением и настройкой летнего времени из выходных данных timezone_abbreviations_list (). Затем вызовите функцию date_timezone_set () с этим, чтобы применить правильную обработку ко времени.
b) Продолжайте рассматривать дату как UTC, но просто добавьте метку времени, чтобы добавить соответствующее количество часов.
Мне кажется, вариант Б - лучший способ. Причина этого заключается в том, что с A я мог бы использовать часовой пояс, который, хотя и корректен с точки зрения offset / dst, может иметь некоторые неясные правила позади сцены, которые могли бы дать удивительные результаты (я не знаю ни одного, но тем не менее Я не думаю, что могу это исключить).
Затем я бы перепроверил часовой пояс, используя Javascript в начале каждого сеанса, чтобы получить информацию, когда либо часовой пояс пользователя изменяется (очень маловероятно), либо они переходят в период летнего времени.
Извините за потерю мозгов - я действительно только после некоторого заверения, что подходы выше действительны.
Спасибо
Джеймс.