вершина 3.x извлекает часовой пояс из http-запроса

Я использую вершину 3.x. У меня есть требование получить доступ к часовому поясу из объекта HttpServerRequest, чтобы предоставить пользователю данные на основе часового пояса.


person Deepak Agrawal    schedule 09.02.2016    source источник


Ответы (1)


В принципе его нет. В обычном HTTP-запросе нет ничего для определения часового пояса.

Ваши варианты:

  • Используйте API-интерфейс IP-геокодирования, чтобы угадать местоположение пользователя с последующим преобразованием местоположения в часовой пояс (например, через другой API).
  • Используйте Javascript для определения часового пояса — для этого доступны различные библиотеки, которые обычно приводят к идентификатору часового пояса IANA, например «Европа/Лондон».
  • Возможно, в сочетании с первыми двумя, предложите пользователям выбор, чтобы они могли подтвердить свой фактический часовой пояс.

Обратите внимание, что определение местоположения по IP-адресу может быть сопряжено с проблемами из-за прокси-серверов, которые часто используются крупными корпорациями.

Также обратите внимание, что даже если у вас есть тот же идентификатор часового пояса, что и в браузере, вполне возможно, что ваша копия данных часового пояса на сервере будет отличаться от данных часового пояса в браузере — они меняются достаточно регулярно. (Вам будет довольно не повезло столкнуться с проблемой, если вы обновляете свои данные, но вы должны знать об этом.)

person Jon Skeet    schedule 09.02.2016