示例:
答案 0 :(得分:5)
你可以这样做。
// date is a JS date or moment
// month is the zero indexed month (0 - 11)
function nextMonth(date, month) {
var input = moment(date);
var output = input.clone().startOf('month').month(month);
return output > input ? output : output.add(1, 'years');
}
请参阅有关操纵片刻的文档。 http://momentjs.com/docs/#/manipulating/
答案 1 :(得分:2)
写道:
/**
@var date is a JS date or moment
@var month is the month in the 0-11 format
*/
var getNextMonthOccurrence: function(date, month){
var m = moment(date);
var this_year = new Date(m.year(), month, 1);
var next_year = new Date(m.year() + 1, month, 1);
return this_year > m ? this_year : next_year;
}
但是必须有更好的方法来做到这一点......
答案 2 :(得分:1)
明年1月1日:
moment().month(0+12).date(1).hour(0).minute(0).second(0)
明年3月17日:
moment().month(2).date(17).hour(0).minute(0).second(0)
编辑:你只需要注意创建的日期是否比现在少。由于它目前在2月份,下一个1月需要增加12个月,但下次游行不会。
function getNextJan(){
var j = moment().month(0).date(1).hour(0).minute(0).second(0)
if(j < moment()) return j.month(12)
return j
}