如何将 IST 时区对象添加到 Moment.js

2022-01-16 00:00:00 date timezone javascript momentjs

我指的是 http://momentjs.com/timezone/docs/#/using-timezones/

例如,它针对以下位置给出:

In example, its given for below locations :

moment.tz.add([
    'America/Los_Angeles|PST PDT|80 70|0101|1Lzm0 1zb0 Op0',
    'America/New_York|EST EDT|50 40|0101|1Lz50 1zb0 Op0'
]);

我不确定 IST 值是否为:

I am not sure of IST values as its given for :

{
    name    : 'America/Los_Angeles',          // the unique identifier
    abbrs   : ['PDT', 'PST'],                 // the abbreviations
    untils  : [1414918800000, 1425808800000], // the timestamps in milliseconds
    offsets : [420, 480]                      // the offsets in minutes
}

有人可以帮忙添加 IST 对象吗?

Could someone help in adding IST object to this?

推荐答案

最简单的方法是只使用包含来自 moment-timezone 主页,例如 moment-timezone-2010-2020.jsmoment-timezone-all-years.js(或缩小版).

The easiest way is to just use one of the files that includes time zone data from the moment-timezone home page, such as moment-timezone-2010-2020.js or moment-timezone-all-years.js (or the minified versions).

但是,如果您愿意,也可以只添加一个区域.您可以在上面列出的数据文件中找到该区域的打包字符串.对于印度,完整的区域定义是:

You can however add just a single zone if you prefer. You can find the zone's packed string within the data files listed above. For India, the full zone definition is:

moment.tz.add("Asia/Calcutta|HMT BURT IST IST|-5R.k -6u -5u -6u|01232|-18LFR.k 1unn.k HB0 7zX0");
moment.tz.link("Asia/Calcutta|Asia/Kolkata");

您可能需要也可能不需要该链接,具体取决于您正在做什么.

You may or may not need the link, depending on what exactly you're doing.

请注意,我假设IST"是指印度标准时间,而不是 爱尔兰标准时间或以色列标准时间.当然,这些区域会有不同的数据.

Note that I assumed that by "IST" you mean India Standard Time, and not Irish Standard Time or Israel Standard Time. Those zones would have different data, of course.

此外,由于印度自 1942 年以来一直使用 UTC+5:30,您可能只希望使用固定偏移量 - 这将消除使用时刻时区的需要.只需立即使用 utcOffset 函数.例如,以下两个都将返回印度的当前时间.

Also, since India has been on UTC+5:30 since 1942, you may just wish to use a fixed offset - which would eliminate the need to use moment-timezone. Just use the utcOffset function in moment. For example, both of the following will return the current time in India.

moment().utcOffset("+05:30").format()

moment().utcOffset(330).format()

相关文章