一尘不染

JSON日期,在服务器的时区中显示原始日期

json

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

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"

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


阅读 204

收藏
2020-07-27

共1个答案

一尘不染

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

moment.parseZone(s)

文档在这里。

或者,您可以使用较旧的方法,该方法具有相同的作用:

moment(s).zone(s)
2020-07-27