如何在两个日历日期之间返回天数(从,到,除了星期六和星期六)周日使用Jquery

时间:2016-10-19 05:37:31

标签: jquery asp.net

例如,如果我将2016年10月1日的日期和2016年10月19日的日期设定为,则必须在没有星期六和日期的情况下获取日期。星期天

输出应如下图所示 enter image description here

还有什么方法可以不在输出中显示国定假日?

2 个答案:

答案 0 :(得分:1)

根据 @vijayP 的评论尝试此解决方案。如果日期星期六(6)或星期日(0),则递增日计数器numDays

var startDate =  new Date('1 Oct 2016');
var endDate =  new Date('19 Oct 2016');
var numDays = 0;

while(startDate < endDate)
{
 startDate.setDate(startDate.getDate() + 1);

 if(startDate.getDay() == 0 || startDate.getDay() == 6)
   continue;

 numDays = numDays +1;
}

alert(numDays);

JSFiddle

答案 1 :(得分:0)

function getWorkingDates(startDate, endDate) {
    var curDate = startDate;
    var days = [];
    while (curDate <= endDate) {
        var dayOfWeek = curDate.getDay();
        if(!((dayOfWeek == 6) || (dayOfWeek == 0)))
           days.push(new Date(curDate));
        curDate.setDate(curDate.getDate() + 1);
    }
    return days;
}

如果您想排除国定假日,您需要有一系列日期。在推送到数组之前,需要检查您的假日数组日期。

function getWorkingDates(startDate, endDate) {
        var curDate = startDate;
        var days = [];
        while (curDate <= endDate) {
            var dayOfWeek = curDate.getDay();
            if(!((dayOfWeek == 6) || (dayOfWeek == 0))){
            if($.inArray(curDate, holidayArray) != -1)
              days.push(new Date(curDate));
            }

            curDate.setDate(curDate.getDate() + 1);
        }
        return days;
    }