如何在JavaScript中从IANA时区代码中获取时区偏移量?

时间:2017-04-21 09:28:51

标签: javascript

我有IANA时区代码,例如“Asia / Kolkata”,我需要在JavaScript中获得-330的时区偏移量。我无法获得时区偏移任何帮助。

3 个答案:

答案 0 :(得分:1)

我只是想利用你的问题并推广moment.js这是一个很棒的日期/时间库,它支持我曾经需要的功能。 例如,见:

矩()TZ("亚/加尔各答&#34)。偏移量(...)

对于时区

答案 1 :(得分:0)

我想出了如何在javascript中从IANA时区代码中获取时区偏移量。我使用了moment-timezone-with-data.js,如下所示

var zone = moment.tz.zone('Asia/Kolkata');
zone.parse(Date.UTC(2012, 2, 19, 8, 30)); // -330

答案 2 :(得分:0)

这可以使用 tzdb 库来完成,该库承诺与 IANA 数据库保持同步。

const kolkataTimeZone = timeZones.find( ({name}) => name === 'Asia/Kolkata' );
console.log(kolkataTimeZone.rawOffsetInMinutes); // 330

请注意,与已弃用的 moment.js 库不同,偏移量是逻辑签名的,即 UTC 之后的时区(主要是美洲)是负数,而 UTC 之前的时区(世界大部分地区)人口)是积极的。