js实现日期差值计算

代码很简单注释很清晰

<!-- 时间计算 -->
<script type="text/javascript">
    function timeReckon(){
        //获取开始日期
        var starttime =  $("#starttime").val();
        //获取结束日期
        var endtime = $("#endtime").val();
        //计算日期差
        var result = DateDiff(starttime,endtime);
        //判断日期是否为空
        if(starttime != null  &&  endtime != null && starttime != ""  &&  endtime != ""){
            //判断开始日期比结束日期大
            if(dateCompare(starttime,endtime)){
                //设置差值
                $("#applyNumber").val(result);
            }else{
                //设置为null
                alert("开始时间不能大于结束时间!");
                $("#applyNumber").val(null);
            }
        }
    }
     //判断日期大小
    function dateCompare(startdate,enddate){  
        var arr=startdate.split("-");    
        var starttime=new Date(arr[0],arr[1],arr[2]);    
        var starttimes=starttime.getTime();   
        var arrs=enddate.split("-");    
        var lktime=new Date(arrs[0],arrs[1],arrs[2]);    
        var lktimes=lktime.getTime();   

        if(starttimes>=lktimes){   
            return false;   
        }else{
            return true;
        } 

    }  
    //日期差计算
    function  DateDiff(sDate1,  sDate2){    //sDate1和sDate2是2006-12-18格式    
        var  aDate,  oDate1,  oDate2,  iDays    
        aDate  =  sDate1.split("-")    
        oDate1  =  new  Date(aDate[1]  +  '-'  +  aDate[2]  +  '-'  +  aDate[0])    //转换为12-18-2006格式    
        aDate  =  sDate2.split("-")    
        oDate2  =  new  Date(aDate[1]  +  '-'  +  aDate[2]  +  '-'  +  aDate[0])    
        iDays  =  parseInt(Math.abs(oDate1  -  oDate2)  /  1000  /  60  /  60  /24)    //把相差的毫秒数转换为天数   
        return  iDays + 1   
    }
</script>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值