在 Javascript 中获取时区的 utc 偏移量

新手上路,请多包涵

我需要一个给定时区的 Javascript 函数,返回当前的 utc 偏移量。

例如,theFuncIneed(‘US/Eastern’) -> 240

任何想法?

谢谢

原文由 user3124032 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 535
1 个回答

_一般来说_,这是不可能的。

  • US/Eastern时区 的标识符。 (它实际上是 America/New_York 的别名,这是真正的标识符。)

  • 240 是时区 _偏移量_。它通常写成 -04:00 (取反符号,除以 60)。

  • 美国东部时区由东部标准时间(偏移量为 -05:00 和东部夏令时(偏移量为 -04:00 组成。

所以说 US/Eastern = 240 是完全不准确的。请阅读 时区标签 wiki ,尤其是标题为“Time Zone != Offset”的部分。

现在你确实要求了 当前的 偏移量,这 可能的。如果您提供日期+时间参考,则可以解决此问题。

  • 对于执行 javascript 代码的计算机的本地时区,这是用 .getTimeZoneOffset()Date 对象的任何实例内置的。

  • 但是如果您想要在 特定 时区使用它,那么您将需要使用 我在此处列出的库之一

原文由 Matt Johnson-Pint 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题