代码之家  ›  专栏  ›  技术社区  ›  Deepak Agrawal

顶点3.x从http请求获取时区

  •  0
  • Deepak Agrawal  · 技术社区  · 10 年前

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

    1 回复  |  直到 10 年前
        1
  •  1
  •   Jon Skeet    10 年前

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

    您的选项包括:

    • 使用IP地理编码API猜测用户的位置,然后进行位置到时区的转换(例如通过另一个API)
    • 使用Javascript检测时区-有各种库可用于检测时区,通常会生成IANA时区ID,如“欧洲/伦敦”
    • 可能结合前两个选项,为用户提供一个选择,以便他们确认自己的实际时区

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

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