javascript - 如何将 UTC 时间字符串转换为本地时区中正确的 moment.js 对象?

标签 javascript momentjs

我有以下字符串,我隐式知道它位于 UTC 时区:2008-03-09 18:02:29

如何使用 moment.js 将其转换为本地时区的对象?

我尝试了以下操作,但它没有调整我本地时区的时间:

> moment("2008-03-09 18:02:29 UTC").format('YYYY-MM-DD HH:mm:ss zz')
"2008-03-09 18:02:29"
PS。我住在华盛顿特区 (UTC -4) 附近。但这需要对世界任何地方的任何用户都能正常工作。

我可以在没有 moment.js 的情况下做到这一点(但它只适用于 Chrome,不适用于 FF):

new Date('2008-03-09 18:02:29 UTC');

那么与此类似的 moment.js 代码是什么?

最佳答案

您知道您有 UTC 日期,因此您需要以 UTC 模式进行解析。之后,使用Moment的.local()函数返回当前用户的时间。

moment.utc('2008-03-09 18:02:29').local().format()
"2008-03-09T13:02:29-05:00"

我现在是-5,正如您所看到的,日期被推迟了五个小时。

关于javascript - 如何将 UTC 时间字符串转换为本地时区中正确的 moment.js 对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36317810/

相关文章:

javascript - 使用angularJS设置HTML5日期输入字段的默认值

javascript - 如何连接 Google 面积图的两个数据集

javascript - 无法从 Promise 函数接收正确的数据

javascript - 在 React 中,如何根据传入的 props 动态渲染组件?

javascript - 日期范围内的完整日历显示

javascript - 全日历时区时刻js问题

javascript - 将 null 变量传递给 MVC Controller

javascript - 返回连接与返回字符串

javascript - Moment.js 时区 valueOf 返回错误的时间戳

javascript - 仅当不是00 :00:00时才使用moment.js显示时间