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');
我遇到的问题 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');