通过使用HTTP请求如何获取服务器的时区不是UTC格式



我的服务器的机器时区为HST格式。当我尝试通过在JavaScript中使用HTTP请求来获取时区时,它以UTC格式给了我。有什么方法可以获取服务器的时区。

几件事:

  • 切勿依靠服务器的时区将其设置为尤其是任何内容。它可以很容易地更改,或者您可能只想将服务器移动到其他地方。要么不应影响您的数据。
  • HTTP标头只会为您提供UTC/GMT的时间。HTTP规范的这一部分,在RFC7231第7.1.1.1和7.1.1.2节中
  • 客户端对服务器的时区一无所知,除非您特别竭尽全力自己发送。由于前两个点,无论如何都不需要这一点,也不应在极少数情况下使用。
  • 服务器对客户端时区也一无所知。如果要在客户端的本地时间内显示服务器时钟的值,则有两个选择:
  1. 将UTC时间发送给客户端,并使用JavaScript从UTC转换为当地时间。JavaScript Date对象足够了,但是您也可能会找到诸如Moment.js和其他有用的库。

  2. 通过询问用户或猜测来确定客户的本地时区。有关更多详细信息,请参见此答案。一旦您拥有时区ID(例如America/Los_Angeles等),请在服务器端使用它。只有在服务器端要执行大量日期/时间操作时,这种方法才有用。如果您只是简单地转换为当地时间进行显示,请选择选项1。

相关内容

  • 没有找到相关文章

最新更新