1 计算日期格式为 yyyy-mm-dd 的 天数差
1 代码: 2 var strDateArrayStart = beginDate.split("-"); 3 var strDateArrayEnd = endDate.split("-"); 4 var strDateS = new Date(strDateArrayStart[0] + "/" + strDateArrayStart[1] + "/" + strDateArrayStart[2]); 5 var strDateE = new Date(strDateArrayEnd[0] + "/" + strDateArrayEnd[1] + "/" + strDateArrayEnd[2]); 6 7 var intDay = (strDateE-strDateS)/(1000*3600*24*30); 8 // 入荷予定日 beginDate - 入荷予定日 endDate >= 7の場合 9 if(intDay >= 7){ 10 dealSelfErr(document.forms[0].beginDate, getMsg(W311)); 11 return false; 12 }
注:
1秒=1000毫秒
1小时=60分钟*60秒=3600秒
一天=24小时
2 计算 日期 之间月份差
这里我写了3中方法:
1 (1) 2 var sd = new Date("2011/11/01"); 3 var ed = new Date("2012/01/01"); 4 var monn = ((ed.getYear() - sd.getYear())*12+(ed.getMonth()- sd.getMonth()))+1;
(2) var sd = new Date("2011/11/01"); var ed = new Date("2012/01/01"); var intMon = (ed - sd)/(1000*3600*24*30);
1 (3) 2 var arrA = a.split("-"), 3 arrB = b.split("-"), 4 yearA = arrA[0], 5 yearB = arrB[0], 6 monthA = +arrA[1], 7 monthB = (yearB-(+yearA))*12+parseInt(arrB[1]), 8 rA = [], 9 rB = []; 10 var i = 0; 11 12 alert(monn); 13 do{ 14 do{ 15 i++; 16 rA.push(yearA+""+(monthA > 9 ? monthA : "0"+monthA)); 17 // rB.push(yearA+"年"+monthA+"月"); 18 if(monthA == 12){ 19 monthA=1; 20 monthB -= 12; 21 break; 22 } 23 }while(monthB > monthA++) 24 }while(yearB > yearA++) 25 alert(i); 26 // alert([rA,rB]); 27 return [rA]; 28 29 } 30 function aa(){ 31 var c = this.getD("2011-11","2012-02"); 32 alert(c) 33 }