增加额外天数,但仅在工作日(周一至周五)并跳过周末

Adding additional days but only on a Weekday (Mon-Fri) and skipping the weekend

本文关键字:周五 周一 周末 工作日 增加额      更新时间:2023-09-26

如何修改下面的函数,以便如果调用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
    }
}

我使用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 周或更长时间,您也可以跳过所有周末。