UTC(弹性搜索)到 MomentJs 本地时间

UTC (elastic search) to MomentJs localtime

我正在关注将 UTC 时间转换为本地 momentjs 时间的示例 fiddle

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

我的 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 的?

据我了解您的问题,您想将日期从某种 "normal" 格式解析为 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 解析文档的 link:http://momentjs.com/docs/#/parsing/

编辑: 对了,你说的是"ES6 Code"。那么请使用 let ( docs ) 而不是 var ;)