【问题标题】:How to specify a city to Moment.js?如何为 Moment.js 指定一个城市?
【发布时间】:2014-09-10 16:14:29
【问题描述】:

任何人都知道如何在 Moment.js 中指定一个城市来计算 DST?

因为在巴西,有些城市更改了夏令时规则,所以我无法使用默认的 TimeZone 来计算。

我的工作是获取用户选择的日期和城市,我需要计算 UTC 日期。我打算为所有国家做,但在巴西我知道这个问题,所以我想知道是否有办法做到这一点。

【问题讨论】:

    标签: javascript node.js momentjs


    【解决方案1】:

    您将需要moment-timezone 插件。

    例如:

    moment.tz("2014-10-01 12:00:00", "America/Sao_Paulo").utc().format("YYYY-MM-DD HH:mm:ss")
    

    或者:

    moment.tz("2014-10-01 12:00:00", "America/Sao_Paulo").toISOString()
    

    请注意,巴西有多个时区。询问“巴西时间”是无效的 - 您必须知道巴西的哪里才能获得准确的答案。 This Wikipedia entry 详细描述了巴西的时区,并有一个表格列出了相应的 TZ 标识符。

    另外,请确保提供日期和时间 - 而不仅仅是日期。否则,转换为 UTC 是没有意义的。

    【讨论】:

    • 马特,我的问题是巴西的夏令时变化很大。一年中同一 TZ 的相同州在另一个没有 DST :S
    • 这正是您需要指定正确时区标识符的原因。这些差异体现在数据中。
    猜你喜欢
    • 2021-09-13
    • 2021-08-08
    • 2012-02-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多