Получите клиентский часовой пояс (не объем смещения GMT) в JS

Я должен определить клиентский часовой пояс (например, CET, GMT, EST) в JS. Получение смещения просто, но не имеет всей информации необходимой для определения TZ, по крайней мере, не легко. У меня есть чувство, что могло бы быть возможно использовать комбинацию смещения, используется ли DST и в действительности, и т.д. но я надеюсь, что кто-то еще уже сделал работу, особенно рассмотрев странные исключения при контакте со временем.

Этот вопрос подобен, но и вопрос и ответ основаны на (неправильном) предположении, формат DateString каждого браузера включает название часового пояса - который это не делает. Это - деталь реализации.

Так, с этим я в настоящее время застреваю.

20
задан Community 23 May 2017 в 12:25
поделиться

2 ответа

Смотрите этот вопрос. Это невозможно сделать в общем случае, но для выбора часового пояса по умолчанию из короткого списка вероятных случаев, вы можете сделать приличное предположение.

Разрешите пользователю отменять его, если вы угадали неправильно.

7
ответ дан 30 November 2019 в 00:09
поделиться

Что бы я сделал, так это определил стандартное смещение и смещение дневного света (похоже, вы уже знали. Если нет, вы можете начать с этой ссылки http://onlineaspect.com/examples /timezone/detect_timezone.js Джоша Фрейзера). Определение часового пояса всегда можно выполнить на стороне сервера, если известны стандартное смещение и смещение дневного света. Затем можно использовать вызов Ajax, чтобы не обновлять страницу. Конечный результат: теперь у вас есть часовой пояс на стороне JavaScript.

1
ответ дан 30 November 2019 в 00:09
поделиться
Другие вопросы по тегам:

Похожие вопросы: