添加额外的天数,但仅限于工作日(周一至周五)并跳过周末

时间:2015-01-26 16:40:14

标签: javascript date

如何调整下面的函数,以便在调用getdate('add',2)时,如果当前日期是在星期五登陆,即。 (2015年2月23日)额外的2"工作周"日期将带来新的"工作周"日期至2015年2月27日。

我需要该功能基本上跳过周末。如果现在的日期是星期五。

function getdate(type,y) {
    if (type == 'add') {
        var someDate = new Date();
        var numberOfDaysToAdd = y
        someDate.setDate(someDate.getDate() + numberOfDaysToAdd); 
        var dd = someDate.getDate();
        var mm = someDate.getMonth() + 1;
        var yyyy = someDate.getFullYear();
        return dd + '/'+ mm + '/'+ yyyy
    }
}

1 个答案:

答案 0 :(得分:1)

我使用while检查每一天是否是周末,如果是,则跳过它。

function getdate(type,y) {
    if (type == 'add') {
        var someDate = new Date();
        var numberOfDaysToAdd = y;
        var i=1;
        while(i<=numberOfDaysToAdd){
            someDate.setDate(someDate.getDate() + 1); 
            if(someDate.getDay() != 0 && someDate.getDay() != 6){//if the day isn't weekend days,then count it.
                i++;
            }

        }
        var dd = someDate.getDate();
        var mm = someDate.getMonth() + 1;
        var yyyy = someDate.getFullYear();
        return dd + '/'+ mm + '/'+ yyyy
    }
}

因此,即使添加的日期是接下来的2周或更长时间,您也可以跳过所有周末的代码。