如何在moment.js中从现在到当前date正确添加1个月

我读了moment.js的文档,如果你想从当前的date时间加1个月,你使用这个代码

var moment = require('moment'); var futureMonth = moment().add(1, 'M').format('DD-MM-YYYY'); 

但现在的问题是,不正确地添加date,例如,假设当前date是2015年3月31日,请在代码中说明

 var currentDate = moment().format('DD-MM-YYYY'); var futureMonth = moment().add(1, 'M').format('DD-MM-YYYY'); console.log(currentDate) // Will result --> 31/10/2015 console.log(futureMonth) // Will result --> 30/11/2015 

如果你看一下当前的日历时间,从31/10/2015 10月31日起的1个月应该是1/12/2015

任何人都可以给我一些关于如何解决这个问题的意见。

谢谢

 var currentDate = moment('2015-10-30'); var futureMonth = moment(currentDate).add(1, 'M'); var futureMonthEnd = moment(futureMonth).endOf('month'); if(currentDate.date() != futureMonth.date() && futureMonth.isSame(futureMonthEnd.format('YYYY-MM-DD'))) { futureMonth = futureMonth.add(1, 'd'); } console.log(currentDate); console.log(futureMonth); 

DEMO