我想找到下个月的最后一个日期,由于某种原因,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")
答案 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>