我初始日期的console.log显示:
Fri Apr 01 2016 02:00:00 GMT+0200 (CEST)
这就是我的所作所为:
// first day is guaranteed to be a first day of month by default
var firstDayOfMonth = moment.utc(initialDate).startOf('day');
var lastDayOfMonth = firstDayOfMonth.clone();
lastDayOfMonth.endOf('month');
console.log(firstDayOfMonth.toDate()); // Fri Apr 01 2016 02:00:00 GMT+0200 (CEST)
console.log(lastDayOfMonth.toDate()); // Sun May 01 2016 01:59:59 GMT+0200 (CEST)
但是4月的最后一天当然不是5月1日。
它可能与夏季问题(CEST)有关?但我需要它在任何时区工作 - 我已经尝试将任何设置为UTC以摆脱这些烦人的时区问题。
答案 0 :(得分:4)
使用moment.format()
代替toDate()
来获取UTC。对于不同的格式,请参考Multiple Locale Support
此处https://momentjs.com/
例如,
console.log(lastDayOfMonth.format('LLLL'));
output: Saturday, April 30, 2016 11:59 PM