现在的位置: 首页 > 综合 > 正文

js 取时间差去掉周六周日

2018年02月15日 ⁄ 综合 ⁄ 共 2686字 ⁄ 字号 评论关闭

 function GetDayNum(no,type) {
        if (type == "35") {
                var num7 = document.getElementById("6").value;
                var value = document.getElementById("7").value;
                var valueR = num7;
                if (no == "7") {valueR = value;}//标识时间值
                if (num7 != "" && value != "") {//两个时间段可以融合 BUG1

                  var startWeek = num7.replace(/-/g, "/");  //把“-”改为“/”,其中“-”算时间不准确这个我测试了
                    //var date = new Date(parseInt(startWeek[0]), parseInt(startWeek[1]), parseInt(startWeek[2]));
                    var date = Date.parse(startWeek);
                    var dateNew = new Date(date);
                    var weekDay = dateNew.getDay(); //星期几

                    var numValue = 0;
                    var numValue = 0;
                    var day = 24 * 60 * 60 * 1000;
                    var dateArr = value.split("-");
                    var checkDate = new Date();
                    checkDate.setFullYear(dateArr[0], dateArr[1] - 1, dateArr[2]);
                    var checkTime = checkDate.getTime();
                    var dateArr2 = num7.split("-");
                    var checkDate2 = new Date();
                    checkDate2.setFullYear(dateArr2[0], dateArr2[1] - 1, dateArr2[2]);
                    var checkTime2 = checkDate2.getTime();
                    var numValue = (checkTime - checkTime2) / day+1; //相差的总天数

                   

if (numValue == 0) {
                        if (weekDay != 6 && weekDay != 0) {
                            numValue = 1;
                        } else {
                        numValue = 0;
                        }
                    } else {
                    //mod by chairuirui start 2012-12-24 相差的天数去掉周六和周日
                        var totleWeek = parseInt(numValue / 7); //差别多少周
                        var yuDay = numValue % 7; //除了整个星期的天数
                        var lastDay = 0;

                        var endWeekDay = 0;   //多余的天数有几天是周六或者周日
                        if ((weekDay == 6 && yuDay >= 2) || (weekDay == 0 && yuDay >= 1&&yuDay<4) || (weekDay == 5 && yuDay >= 3) || (weekDay == 4 && yuDay >= 4) || (weekDay == 3 && yuDay >= 5) || (weekDay == 2 && yuDay >= 6) || (weekDay == 1 && yuDay >= 7))
{
                            endWeekDay = 2;
                        }
                        if (((weekDay == 6 && yuDay <= 1&&yuDay!=0) || (weekDay == 0 && yuDay <= 6) || (weekDay == 5 && yuDay < 2) || (weekDay == 4 && yuDay < 3) || (weekDay == 3 && yuDay < 4) || (weekDay == 2 && yuDay < 5) || (weekDay == 1 && yuDay < 6))&&(weekDay!=0||yuDay!=0))
{
                            endWeekDay = 1;
                        }
                        //  if (numValue == 0) { numValue = 1; }
                        numValue = numValue - (totleWeek * 2) - endWeekDay;
                    }
                    if (numValue <= 0) {
                        numValue = 0;
                    }                                          
                                       document.getElementById("8").value = numValue.toFixed(0);
    }

}

抱歉!评论已关闭.