如何获得一个月中不包括周末的天数

Fur*_*ury 5 javascript

我编写了一个函数,可以给我一个月的所有天,不包括周末。一切正常,但是当我想获取12月的日子时,Date对象将返回下周的01 Jan,并且该函数将返回一个空数组。

请帮忙。

function getDaysInMonth(month, year) {
    var date = new Date(year, month-1, 1);
    var days = [];
    while (date.getMonth() === month) {

        // Exclude weekends
        var tmpDate = new Date(date);            
        var weekDay = tmpDate.getDay(); // week day
        var day = tmpDate.getDate(); // day

        if (weekDay !== 1 && weekDay !== 2) {
            days.push(day);
        }

        date.setDate(date.getDate() + 1);
    }

    return days;
}  

alert(getDaysInMonth(month, year))
Run Code Online (Sandbox Code Playgroud)

Jar*_*a X 6

创建日期时,请使用month = 0到11

当您获得月份时也是如此-它还返回0到11

我很惊讶你说

一切正常

实际上,它从来没有工作过一个月-总是会返回一个空数组

function getDaysInMonth(month, year) {
    month--; // lets fix the month once, here and be done with it
    var date = new Date(year, month, 1);
    var days = [];
    while (date.getMonth() === month) {

        // Exclude weekends
        var tmpDate = new Date(date);            
        var weekDay = tmpDate.getDay(); // week day
        var day = tmpDate.getDate(); // day

        if (weekDay%6) { // exclude 0=Sunday and 6=Saturday
            days.push(day);
        }

        date.setDate(date.getDate() + 1);
    }

    return days;
}  

alert(getDaysInMonth(month, year))
Run Code Online (Sandbox Code Playgroud)