Moment.js 不断返回 UTC 而不是本地日期

Moment.js keeps returning UTC instead of Local Date

我遇到的问题 hope/assume 是一个简单而愚蠢的问题,即将 Moment.js 变为 return 本地日期。

我正在传递这个 date/time 字符串: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

看起来正确。但是,如果我使用下面的代码检查时间,它将 return UTC 时间,这将导致一天中某些时间的日期不正确(未来的一天)。

moment(departureDateTime).format("h:mma")); // 11:32am

我错过了什么?我认为 Moment.js 的默认值是 return 当地时间,所以我很困惑为什么它不会 return 6:32am 而不是 11:32am .

感谢您提供的任何帮助。

一种方法:

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');