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-ddfunction 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) ...{ p=p.replace(/(^s*)|(s*$)/g, "");//去掉空格 var l = p.length; var count=0; for(var i=0; i<l; i++) ...{ var digit = p.charAt(i); if(digit == "." ) ...{ ++count; if(count>1) ...{ return false; } } else if(digit < "0" || digit > "9") ...{ return false; } } return true; }