javascript - JSON日期,显示服务器时区的原始日期

标签 javascript json date momentjs

例如,我有一个像这样的字符串日期(我从 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"

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

最佳答案

只需使用 parseZone 函数,如下所示:

moment.parseZone(s)

Documentation is here.

或者,您可以使用旧方法,它可以完成相同的操作:

moment(s).zone(s)

关于javascript - JSON日期,显示服务器时区的原始日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36009310/

相关文章:

python - 将字典(数组)导出到 json

xml - 在 XSLT/XML 中将日期显示为 DD-MM-YYYY

php - 将日期转换为已使用 strtotime 的时间戳

javascript - ocLazyLoad 未加载 Controller ,如何修复?

javascript - C# MVC 4 在 Controller 中使用 Javascript 调用 Void

javascript - 需要有关此主题的完整示例 : QtWebKit Bridge

javascript - 将 wordpress 站点与 meteor 成员(member)区集成

perl - Perl 数据结构的简单、现代、健壮、透明的持久性

ruby - 如何从 Ruby Cucumber 场景大纲生成可由 Cucumber 报告正确使用的结果?

javascript - 多个 FormControl 元素的 Angular2 updateValueAndValidity