【问题标题】:momentjs date parsing default timezone without moment-timezone没有时刻时区的momentjs日期解析默认时区
【发布时间】:2015-05-19 08:31:58
【问题描述】:

momentjs 显然有一个“默认”时区的概念,而不涉及moment-timezonemoment.tz

我的开发机器在 CET 中,当我写这篇文章时,它当前是 DST (+0200)。

示例:

var moment = require('moment');  // no moment-timezone

以下时间(不带时区后缀)就在 DST 开关 CET 之前。

moment('2015-03-29T02:00:00').format() // '2015-03-29T01:00:00+01:00'

这一次是就在 DST 切换 CET 之后。

moment('2015-03-29T03:00:00').format() // '2015-03-29T03:00:00+02:00'

Moment 使用我想要 CET 的一些隐藏知识和 CET 的 DST 规则清楚地解释了我的输入。

我该如何影响这个?

如果我将我的开发机器搬到纽约,我可以说服 moment 继续使用 CET 规则吗?

(而时刻时区可能不是答案)

【问题讨论】:

    标签: datetime momentjs


    【解决方案1】:

    不指定时区,不,它将根据您机器上的当前时区创建日期。来自docs

    除非您指定时区偏移量,否则解析字符串将创建一个 当前时区的日期。

    moment("2010-10-20 4:30",       "YYYY-MM-DD HH:mm");   // parsed as 4:30 local time
    moment("2010-10-20 4:30 +0000", "YYYY-MM-DD HH:mm Z"); // parsed as 4:30 UTC
    

    【讨论】:

    • 问题是如果我设置了一个时区,DST逻辑就丢失了。
    猜你喜欢
    • 2015-07-01
    • 2019-09-06
    • 2013-07-06
    • 2012-11-03
    • 1970-01-01
    • 2020-08-31
    • 2012-01-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多