JS計算時間差,計算月份差的簡單案例

<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>


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章