1

我想做类似这段代码的事情,但是日期不允许我这样做:undefined当月份超过 11 时,警报会显示“”,例如 12、13...

我想从一个月导航到另一个,所以我需要做类似的事情getMonth()+1or +2,即使当前月份是十二月(这样,December+1 (11+1)会给我January (0))。你知道如何实现这一目标吗?

var m = mdate.getMonth();
    alert(nextMonth(m+3));

    function nextMonth(month){
        if (month>11) {
            if(month==12) month=0;
            if(month==13) month=1;
        } else {
            return month;
        }
    }

谢谢

4

2 回答 2

3

使用模运算符保持在范围内。

function nextMonth(month){
    return month % 12
}
于 2012-10-31T13:30:22.987 回答
1

您可以使用模块化除法:

var m = 11;
alert((m+1) % 12); // 0
alert((m+2) % 12); // 1

这不是一个好主意。javascript 中的内置日期函数将为您处理此问题。

someDate.setMonth(someDate.getMonth() + m);
于 2012-10-31T13:32:54.403 回答