我正在遵循一个示例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?

最佳答案

据我了解,您想将日期从“正常”格式解析为上午/下午(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
  }


我在这里更新了您的小提琴:http://jsfiddle.net/ya1h7zk6/

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

编辑:顺便说一句,您说“ ES6代码”。然后,请使用letdocs)代替var;)

08-07 14:33