javascript - UTC( Elasticsearch )到 MomentJs 本地时间

标签 javascript node.js reactjs momentjs utc

我正在遵循一个例子fiddle将 UTC 时间转换为本地 momentjs 时间。

尽管我的示例运行不正常,但我正在尝试理解原因。

我的 ReactJS 代码执行以下函数来显示正确的时间:

<p>Created Date: {(this.utcToLocalTime(result._source.created_date))}</p>

函数如下(ES6代码):

  utcToLocalTime(utc_time) {
    var localTime = moment.utc(utc_time).toDate()
    console.log(localTime) // Tue Jun 21 2016 16:59:34 GMT-0700 (PDT)

    var localTime_formatted = moment(localTime).format('YYYY-MM-DD HH:mm:ss')
    console.log(localTime_formatted) //2016-06-21 16:59:34
    return localTime_formatted
  }

但我希望有时间展示一些本地内容,例如 10:32 AM

我如何错误地使用 MomentJS?

最佳答案

据我了解您的问题,您想要将日期从某种“正常”格式解析为 am/pm(12 小时系统)。为此,只需在 localTime_formatted 模板末尾添加一个 a 即可,如下所示:

utcToLocalTime(utc_time) {
    var localTime = moment.utc(utc_time).toDate()
    console.log(localTime) // Tue Jun 21 2016 16:59:34 GMT-0700 (PDT)

    var localTime_formatted = moment(localTime).format('YYYY-MM-DD HH:mm a')
    console.log(localTime_formatted) //2016-06-21 16:59:34
    return localTime_formatted
  }

我在这里更新了你的 fiddle :http://jsfiddle.net/ya1h7zk6/

这是 momentjs 解析文档的链接:http://momentjs.com/docs/#/parsing/

编辑:顺便说一下,你说的是“ES6代码”。那么请使用 let ( docs ) 而不是 var ;)

关于javascript - UTC( Elasticsearch )到 MomentJs 本地时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38272457/

相关文章:

javascript - jQuery:click() 不适用于 jQuery 添加的元素

node.js - 基本的socket.io身份验证

reactjs - Sinon 不会对 react 组件的 getter 进行 stub

javascript - 如何使一个输入有多个事件?

javascript - 使用全局安装的预设进行 Babelify 转换

javascript - Javascript 颜色和 Canvas 中的问题

javascript - Bootstrap + React.js 菜单

node.js - 在公司防火墙后面使用 create-react-app

javascript - Gulp - 将 vendor 发布到文件夹

javascript - 如何设置FabricJS图像的4个 Angular 的X、Y坐标值