JS 中处理日期 < script type = " text/javascript " > // 计算天数差的函数 yyyy-mm-dd (sDate2-sDate1)间的天数 function DateDiff(sDate1, sDate2) ... { //sDate1和sDate2是2006-12-18格式 var oDate1 = StringToDate(sDate1); var oDate2 = StringToDate(sDate2); var iDays = (oDate2.getTime()-oDate1.getTime())/(24*60*60*1000); //修正:2007-8-18到2007-8-18算一天,2007-8-18到2007-8-19算两天 if(iDays > 0)...{ iDays = iDays +1; } if(iDays < 0)...{ iDays = iDays -1; } if(iDays == 0)...{ // iDays = 1; } //alert(sDate1+" 加上 0 天: "+addDays(sDate1,0)); return iDays; } // 计算天数差的函数 yyyy-mm-dd (sDate2-sDate1)间的天数 去掉周末 function DateDiffNoWeekDay(sDate1, sDate2) ... { //sDate1和sDate2是2006-12-18格式 var oDate1 = StringToDate(sDate1); var oDate2 = StringToDate(sDate2); var days = 1; //alert(sDate1+" "+sDate2); var tempDate = oDate1; while(tempDate.getTime() < oDate2.getTime())...{ tempDate = addDays(tempDate,2);//加一天 if(!checkWeekDay(DateToString(tempDate)))...{//不是周末 days++; //alert(days); } } return days; } // yyyy-mm-dd 加上days天数后返回 yyyy-mm-dd function addDays(oDate,days) ... { if(days > 0)...{ days = days - 1; } if(days < 0)...{ days = days + 1; } var result = new Date(oDate.getTime()+(days*24 * 60 * 60 * 1000)); return result; } // 去掉周末 new function addDaysNoWeekDay(sDate,days) ... { oDate = StringToDate(sDate); //修正:2007-8-18加1天或0天还是2007-8-18,2007-8-18加2天为2007-8-19 if(days > 0)...{ days = days - 1; } if(days < 0)...{ days = days + 1; } var tempDate = oDate; for(i=0;i<days;i++)...{ tempDate = addDays(tempDate,2);//加上一天 if(checkWeekDay(DateToString(tempDate)))...{//校验是不是周末 i--; } } return DateToString(tempDate); } // Date型转成yyyy-mm-dd function DateToString(oDate) ... { var month = oDate.getMonth()+1; var day = oDate.getDate(); if(month<10)...{ month="0"+month; } if(day<10)...{ day = "0"+day; } return oDate.getFullYear() + "-" + month +"-"+ day; } // yyyy-mm-dd型转成Date function StringToDate(sDate) ... { var aDate = sDate.split("-"); return new Date(aDate[1] + "-" + aDate[2] + "-" + aDate[0]); } // 判断日期的正确性,yyyy-mm-dd String.prototype.isDate = function () ... { //用法:alert("2007-01-31".isDate()); var r = this.match(/^(d...{1,4})(-)(d...{1,2})2(d...{1,2})$/); if(r==null)return false; var d = new Date(r[1], r[3]-1, r[4]); return (d.getFullYear()==r[1]&&(d.getMonth()+1)==r[3]&&d.getDate()==r[4]); } // 对String型校验 判断是不是周末 function checkWeekDay(sDate) ... { aDate = sDate.split("-") oDate = new Date(aDate[1] + "-" + aDate[2] + "-" + aDate[0]) //转换为12-18-2006格式 day = oDate.getDay(); if(day==0 || day == 6)...{ return true; } return false; } // 判断是否为数字 function checknum(p)