vertex 3.x 从 http 请求中获取时区

vertex 3.x fetch timezone from http request

我正在使用顶点 3.x。我需要从 HttpServerRequest 对象访问时区以向用户提供基于时区的数据。

基本上没有。常规 HTTP 请求中没有任何内容来标识时区。

您的选择是:

  • 使用 IP 地理编码 API 猜测用户的位置,然后进行位置到时区的转换(例如通过另一个 API)
  • 使用 Javascript 检测时区 - 有各种库可用于执行此操作,通常会生成 IANA 时区 ID,例如 "Europe/London"
  • 可能与前两个一起,为用户提供一个选择,以便他们可以确认他们的实际时区

请注意,由于大公司经常使用代理,从 IP 地址检测位置可能会充满问题。

另请注意,即使您获得了与浏览器相同的时区 ID,您在服务器上的时区数据副本也完全有可能与浏览器中的时区数据不同 - 它会发生变化合理地定期。 (只要您保持数据是最新的,您相当会不幸遇到问题,但您应该意识到这一点。)