Momentjs如何获得下个月的最后日期

时间:2018-03-06 02:51:03

标签: javascript date momentjs

我想找到下个月的最后一个日期,由于某种原因,momentjs会返回错误的日期

例如:

console.log(moment('02/28/2018', "MM/DD/YYYY").add(i, 'M'));

返回:

moment("2018-03-28T00:00:00.000")

正确的日期应该是:

moment("2018-03-31T00:00:00.000")

2 个答案:

答案 0 :(得分:0)

使用.add()您只需在实际日期中添加一个月,但您也希望转到本月的最后一天,为此您可以使用.endOf()

moment('02/28/2018', "MM/DD/YYYY").add(1, 'M').endOf("month")
// 2018-03-31T23:59:59.999Z

答案 1 :(得分:0)

你将1个月加到2/28,所以你得到3/28。它只会增加月份部分。

要获得该月的最后一天,您可以使用:

// Should be 12/31/2018 23:59:59
console.log(moment("2018-12-01").endOf("month").toString());

// Should be last day, hour, minute, and second of the current month
console.log(moment().endOf("month").toString());
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.21.0/moment.min.js"></script>