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