【问题标题】:What are all the possible results of moment.tzguess()?moment.tzguess() 的所有可能结果是什么?
【发布时间】:2020-04-14 02:19:50
【问题描述】:

在moment.js中,调用:

moment.tz.guess();

将返回 IANA 时区标识符,例如美国太平洋时区的 America/Los_Angeles。它记录在here。

和

moment.tz.names();

将返回 IANA 时区标识符列表。

我的问题是:

moment.tz.names(); 是否包含所有调用moment.tzguess(); 的可能结果?我正在尝试获取 moment.tz(guess); 的所有可能结果的列表

【问题讨论】:

    标签: javascript datetime timezone momentjs


    【解决方案1】:

    moment.tz.names 返回 moment.tz 数据中的所有 IANA 代表位置(将近 600 个)。 guess 提供的名称应该在列表中,除非它来自 Intl 对象并且包含的​​名称不在 moment.tz 的数据中。

    您还可以从 IANA 或 Wikipedia 获取所有 IANA 代表位置的列表(请注意,Wikipedia 的列表不是权威的,只是方便并包括标准和夏令时的当前偏移量)。

    let repLoc = moment.tz.guess();
    let allLoc = moment.tz.names();
    console.log('Your IANA representative location: ' + repLoc);
    console.log('In timezone data? : ' + allLoc.includes(repLoc));
    console.log('All timezones:\n' + allLoc.join('\n'));
    <script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.24.0/moment-with-locales.min.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/moment-timezone/0.5.28/moment-timezone-with-data.min.js"></script>

    【讨论】:

    • 谢谢罗伯。我会投赞成票,但对 SO 很陌生,而且没有足够的代表。
    猜你喜欢
    • 2016-02-25
    • 1970-01-01
    • 2010-11-26
    • 1970-01-01
    • 2016-03-02
    • 1970-01-01
    • 2019-03-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多