Javascript 如何使用momentjs查找国家/地区的可用时区

Javascript 如何使用momentjs查找国家/地区的可用时区,javascript,timezone,momentjs,Javascript,Timezone,Momentjs,我想按国家名称检索一个时区列表,其中utc偏移量与momentjs的偏移量相同。例如,我想要一些 momentObject.getTimezones("America") 它将返回一个时区列表,如 ['UTC−11:00 (ST) — American Samoa, Jarvis Island, Kingman Reef, Midway Atoll, Palmyra Atoll', .... 库中是否存在类似的功能?矩时区 MomentJS提供了一个即时时区包: mome

我想按国家名称检索一个时区列表,其中utc偏移量与momentjs的偏移量相同。例如,我想要一些

   momentObject.getTimezones("America")
它将返回一个时区列表,如

   ['UTC−11:00 (ST) — American Samoa, Jarvis Island, Kingman Reef, Midway Atoll, Palmyra Atoll',
    ....
库中是否存在类似的功能?

矩时区 MomentJS提供了一个即时时区包:

moment.tz.names()
将返回所有时区的数组。这些时区以各自的大陆为前缀<代码>美国/底特律。您可以使用普通JavaScript轻松地按洲过滤此数组

国家和时区 要获得匹配的国家/时区,您肯定需要另一个软件包,例如,它提供了一个简单的API,可以通过ISO国家代码获取时区:

countriesAndTimezones.getTimezonesForCountry('MX');
返回:

[ { name: 'America/Mexico_City',
    utcOffset: -360,
    offsetStr: '-06:00',
    countries: [ 'MX' ] },
  { name: 'America/Cancun',
    utcOffset: -300,
    offsetStr: '-05:00',
    countries: [ 'MX' ] },
  { name: 'America/Merida',
    utcOffset: -360,
    offsetStr: '-06:00',
    countries: [ 'MX' ] },
  { name: 'America/Monterrey',

...

请注意,国家和时区之间存在n x m关系(因此一个时区可能位于多个国家)。因此,此包还包含一个
getCountriesForTimezone()
方法。

该功能已被请求,并在以下拉取请求中挂起:

但是,它将接受国家代码(如
US
),并返回时区标识符列表,如
America/Los_Angeles
。请注意,您提供的列表不是将返回的值


还请记住,在不考虑时间点的情况下,不能为整个时区指定单个偏移量,因此这也不是功能的一部分。请参阅中的“时区!=offset”。

任何人如果想了解如何在momentjs中按国家代码获取时区,而不必等待合并,您都可以从moment包中获得.json文件并检索包含时区的国家对象

看一看:
这条评论也应该很有帮助:

该功能在6天前被合并:)最后。我很久以前问过这个问题。