0

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

4

1 回答 1

1

它基本上没有。常规 HTTP 请求中没有任何内容可以识别时区。

您的选择是:

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

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

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

于 2016-02-09T07:08:16.943 回答