获取节点中特定时区的 UTC 偏移量和 DST 信息? [复制]

Posted

技术标签:

【中文标题】获取节点中特定时区的 UTC 偏移量和 DST 信息? [复制]【英文标题】:Get UTC offset and DST information for a specific timezone in node? [duplicate] 【发布时间】:2019-05-18 21:35:39 【问题描述】:

我需要在 node.js 中获取特定时区的 UTC 偏移量和 DST 信息。 如果我使用外部 Web 服务,如果可能的话,所使用的服务必须是免费的,并且请求不受限制。

示例:如果我将欧洲/罗马时区作为参数,我需要将 3600 作为 UTC 偏移量和 0 作为 DST 信息。

我找到了 timezonedb,但有一个速率限制,您每秒只能向服务器发送一次请求。

【问题讨论】:

请记住,您只能获得特定时间点的时区偏移量。 DST 并不是时区随时间变化的唯一方式。许多人更改了他们的标准时间 - 有时是多次! 【参考方案1】:

对于任何与时间相关的事情,您都应该考虑使用 moment.js

Here is the documentation for moment.js Here is the documentationmoment.js 时区

以下取自 moment.js 时区文档

var jun = moment("2014-06-01T12:00:00Z");
var dec = moment("2014-12-01T12:00:00Z");

jun.tz('America/Los_Angeles').format('ha z');  // 5am PDT
dec.tz('America/Los_Angeles').format('ha z');  // 4am PST

jun.tz('America/New_York').format('ha z');     // 8am EDT
dec.tz('America/New_York').format('ha z');     // 7am EST

您应该能够根据您的用例找到正确的方法。

【讨论】:

谢谢,我用了这些:moment.utc().tz(zone_name).format('Z'); moment.utc().tz(zone_name).isDST();

以上是关于获取节点中特定时区的 UTC 偏移量和 DST 信息? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

如何在 .NET 中的 DST 时间获取 UTC 偏移量

Python 中给定 TimeZone 的标准 UTC 偏移量(无 DST)

Python & pytz:确定时区是不是支持 DST 以及 DST 和非 DST UTC 偏移量是多少

如何显示 dst 空闲时区偏移量?

Luxon:获取偏移量和直到的数组(就像我们可以在时刻时区中一样)

将 UTC 偏移量转换为时区或日期