Я использую вершину 3.x. У меня есть требование получить доступ к часовому поясу из объекта HttpServerRequest, чтобы предоставить пользователю данные на основе часового пояса.
вершина 3.x извлекает часовой пояс из http-запроса
Ответы (1)
В принципе его нет. В обычном HTTP-запросе нет ничего для определения часового пояса.
Ваши варианты:
- Используйте API-интерфейс IP-геокодирования, чтобы угадать местоположение пользователя с последующим преобразованием местоположения в часовой пояс (например, через другой API).
- Используйте Javascript для определения часового пояса — для этого доступны различные библиотеки, которые обычно приводят к идентификатору часового пояса IANA, например «Европа/Лондон».
- Возможно, в сочетании с первыми двумя, предложите пользователям выбор, чтобы они могли подтвердить свой фактический часовой пояс.
Обратите внимание, что определение местоположения по IP-адресу может быть сопряжено с проблемами из-за прокси-серверов, которые часто используются крупными корпорациями.
Также обратите внимание, что даже если у вас есть тот же идентификатор часового пояса, что и в браузере, вполне возможно, что ваша копия данных часового пояса на сервере будет отличаться от данных часового пояса в браузере — они меняются достаточно регулярно. (Вам будет довольно не повезло столкнуться с проблемой, если вы обновляете свои данные, но вы должны знать об этом.)
person
Jon Skeet
schedule
09.02.2016