例如,我有一个像这样的字符串日期(我从json中的服务器获取这个,来自rails app)
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"
但也许有更好的方法来完成这项任务?
答案 0 :(得分:4)
只需使用parseZone
功能,如下所示:
moment.parseZone(s)
或者,您可以使用较旧的方法,它执行相同的操作:
moment(s).zone(s)