当前位置: 代码迷 >> JavaScript >> js 取时间差去掉礼拜六周日
  详细解决方案

js 取时间差去掉礼拜六周日

热度:97   发布时间:2013-01-02 13:08:44.0
js 取时间差去掉周六周日

 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 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; //相差的总天数

                    var totleWeek = numValue / 7; //差别多少周
                    var yuDay = numValue % 7; //除了整个星期的天数
                    var lastDay = 0;
                    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 endWeekDay = 0;   //多余的天数有几天是周六或者周日
                    if ((weekDay == 6 && yuDay >= 2) || (weekDay == 7 && yuDay >= 1) || (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) || (weekDay == 7 && yuDay < 5) || (weekDay == 5 && yuDay < 2) || (weekDay == 4 && yuDay < 3) || (weekDay == 3 && yuDay < 4) || (weekDay == 2 && yuDay < 5) || (weekDay == 1 && yuDay < 6)) {
                        endWeekDay = 1;
                    }
                  //  if (numValue == 0) { numValue = 1; }
                    numValue = numValue - (totleWeek * 2) - endWeekDay; //最终时间
                                                                   
            }
        }
    }

  相关解决方案