我有希望/假设是一个简单而愚蠢的问题,让Moment.js返回本地日期。
我传递了这个日期/时间字符串: 2015-02-19T06:32:00.001-05:00
使用此代码:
var departureDateTime = "2015-02-19T06:32:00.001-05:00";
moment(departureDateTime).format("YYYY-MM-DD"); // returns 2015-02-19
看起来很正确。但是,如果我使用下面的代码检查时间,它将返回UTC时间,这将导致日期在某一天的某些时间不正确(将来的某一天)。
moment(departureDateTime).format("h:mma")); // 11:32am
我错过了什么?我认为Moment.js的默认值是返回当地时间,所以我很困惑为什么它不会在早上6:32而不是早上11:32返回。
感谢您提供的任何帮助。
答案 0 :(得分:2)
一种方法:
var dateStr = "2015-02-19T06:32:00.001-05:00";
moment(dateStr).utcOffset(dateStr).format("h:mma")
(从这里:http://momentjs.com/docs/#/manipulating/utc-offset/)
编辑:根据K_C确定的文档,预期的方法是使用parseZone
:
var dateStr = "2015-02-19T06:32:00.001-05:00";
moment.parseZone(dateStr).format('h:mma');