<head> <script> function OnClick(){ //獲取開始日期 var startdate =document.getElementById("startdate").value; //獲取當前日期 var d = new Date(); //獲取當前年 var year = d.getFullYear(); //獲取當前月,需要+1 var month = d.getMonth() + 1; var months = month < 10 ? ("0" + month) : month; var dt = d.getDate(); dt = dt < 10 ? ("0" + dt) : dt; var today = year + "-" + months + "-" + dt; document.getElementById("a").value = today; //獲取起始日期的月份 var sMonth = startdate.split("-")[1]; if(sMonth < 10){ sMonth = sMonth.substr(1,2); //去除月份前的0操作 例: 2013-01-01 } //獲取起始日期的年份 var sYear = startdate.split("-")[0]; //月份比較 if(this.getMonths(sYear,sMonth,year,month)>4){ alert("不能查詢4個月之前!"); } document.getElementById("b").value = this.getDays(startdate,today); } //計算日期之差 function getDays(strDateStart,strDateEnd){ var strSeparator = "-"; //日期分隔符 var oDate1; var oDate2; var iDays; oDate1= strDateStart.split(strSeparator); oDate2= strDateEnd.split(strSeparator); var strDateS = new Date(oDate1[0], oDate1[1]-1, oDate1[2]); var strDateE = new Date(oDate2[0], oDate2[1]-1, oDate2[2]); iDays = parseInt(Math.abs(strDateE - strDateS ) / 1000 / 60 / 60 /24)//把相差的毫秒數轉換爲天數 return iDays ; } //計算月份之差 function getMonths(startYear,startMonth,nowYear,nowMonth){ //規則:(當前年份-起始年份)*12+當前月份-起始月份 var count = (nowYear - startYear)*12 + nowMonth - startMonth; return count; } </script> </head> <body> <table> <tr> <td class="formLabel">時間:</td> <td class="formField"> <input type="text" maxlength="16" class="dateField" name="startdate" id="startdate" value="2013-12-31" /> </td> <td> <button class="formButton" id="riskSearch" name="riskSearch" </td> </tr> <tr> <td class="formLabel">輸出:</td> <td> <input type="text" maxlength="16" class="dateField" name="a" id="a" value="" /> </td> </tr> <tr> <td class="formLabel">輸出:</td> <td> <input type="text" maxlength="16" class="dateField" name="b" id="b" value="" /> </td> </tr> </table> </body>
JS計算時間差,計算月份差的簡單案例
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.