2

例如,我有一个这样的字符串日期(我从 json 中的服务器获取它,来自 rails 应用程序)

s = "2013-09-01T00:00:00.000+08:00"

我想这样显示

01.09.2013

所以我为此使用 moment.js 库

moment(s).zone("+08:00").format("DD.MM.YYYY")
>> "01.09.2013"

但我不知道需要的时区是否为 +08:00。如果我跳过.zone()通话,结果将是错误的,因为我的浏览器位于不同的时区

moment(s).format("DD.MM.YYYY")
>"31.08.2013"

即使在我的原始字符串中,我+08:00最后也有。

所以,我的问题是如何使用纯 javascript 或 moment.js 库从 json 日期字符串中提取时区?

我能想到的最简单的方法是手动提取最后 6 个字符,

s.slice(s.length - 6, s.length)
> "+08:00"

但也许有更好的方法来完成这项任务?

4

1 回答 1

5

只需使用该parseZone功能,如下所示:

moment.parseZone(s)

文档在这里。

或者,您可以使用旧的方法,它做同样的事情:

moment(s).zone(s)
于 2013-09-25T15:25:22.220 回答