通过使用HTTP请求如何获取非UTC格式的服务器时区 [英] By using HTTP request how to get server's timezone not in UTC format

查看:22
本文介绍了通过使用HTTP请求如何获取非UTC格式的服务器时区的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我的服务器的计算机时区为HST格式。当我尝试使用JavaScript中的HTTP请求获取时区时,它以UTC格式提供给我。是否有办法获取服务器的时区。

推荐答案

几件事:

  • 不要依赖服务器的时区来设置任何特定的时区。它可以很容易地更改,或者您可能只想将您的服务器移到其他地方。两者都不应影响您的数据。
  • HTTP标头仅提供UTC/GMT表示的时间。RFC7231 section 7.1.1.1 and 7.1.1.2中的HTTP规范的这一部分。
  • 客户端对服务器的时区一无所知,除非您特意亲自发送。由于前两点的原因,无论如何都不应该要求这样做,或者应该在非常罕见的情况下使用。
  • 服务器也不知道客户端时区。如果要以客户端的本地时间显示服务器时钟的值,您有两个选择:
  1. 将UTC时间发送给客户端,使用JavaScript将UTC时间转换为本地时间。JavaScriptDate对象就足够了,但是您可能还会发现像Moment.js这样的库和其他库很有用。

  2. 可以通过其他方式确定客户端的本地时区,可以通过询问用户,也可以通过猜测。有关详细信息,请参阅this answer。获得时区ID后(如America/Los_Angeles等)在服务器端使用此命令。只有在服务器端有大量日期/时间操作要做时,此方法才有用。如果您只是要转换为本地时间进行显示,请首选选项1。

这篇关于通过使用HTTP请求如何获取非UTC格式的服务器时区的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆