在 momentjs 中处理 DST 的问题
Issue with handling DST in momentjs
我有一个关于在 momentjs 中处理 DST 的问题。
假设我目前处于 GMT+1 时区并遵守标准(冬季)时间,因此我的 UTC 偏移量为 +01:00。如果我执行:
moment('2018-02-26T10:12:00+01:00').format('LLL')
如我所料,我会得到 "26 February 2018 10:12"
。
但是,如果我执行 moment('2018-04-26T10:12:00+01:00').format('LLL')
(所以日期在夏令时期间内)我将得到 "26 April 2018 11:12"
所以看起来 momentjs 没有考虑 DST 开关,这将发生在现在和那个日期之间。
这实际上是预期的行为吗?
这确实是预期的行为,Moment 工作正常。
您在 +01:00
的输入时间中指定了偏移量,但当时在您当地时区有效的偏移量实际上是 +02:00
(假设大多数欧洲地方在 CET/CEST).因此,您描述的瞬间是一个小时,因此您的结果是一个小时。
如果您省略输入中的偏移量,您会看到 Moment 的行为符合您的预期。
我有一个关于在 momentjs 中处理 DST 的问题。
假设我目前处于 GMT+1 时区并遵守标准(冬季)时间,因此我的 UTC 偏移量为 +01:00。如果我执行:
moment('2018-02-26T10:12:00+01:00').format('LLL')
如我所料,我会得到 "26 February 2018 10:12"
。
但是,如果我执行 moment('2018-04-26T10:12:00+01:00').format('LLL')
(所以日期在夏令时期间内)我将得到 "26 April 2018 11:12"
所以看起来 momentjs 没有考虑 DST 开关,这将发生在现在和那个日期之间。
这实际上是预期的行为吗?
这确实是预期的行为,Moment 工作正常。
您在 +01:00
的输入时间中指定了偏移量,但当时在您当地时区有效的偏移量实际上是 +02:00
(假设大多数欧洲地方在 CET/CEST).因此,您描述的瞬间是一个小时,因此您的结果是一个小时。
如果您省略输入中的偏移量,您会看到 Moment 的行为符合您的预期。