将月份值转换为javascript中的整数,以便使用getMonth()+ 1?

时间:2012-10-31 13:28:40

标签: javascript date integer monthcalendar

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

我想从一个月导航到另一个月,所以即使当前月份是12月,我也需要执行getMonth()+1+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;
        }
    }

由于

2 个答案:

答案 0 :(得分:3)

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

function nextMonth(month){
    return month % 12
}

答案 1 :(得分:1)

您可以使用模块化部门:

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

这不是一个好主意。 javascript中的内置Date函数将为您处理。

someDate.setMonth(someDate.getMonth() + m);