JS计算两个时间差的问题

计算两个时间差的问题

function getDateIsMatching(){
        var pactbegindate=$("#loanbegindate").datetimebox("getValue");
        var pactenddate=$("#loanenddate").datetimebox("getValue");

        var loanterm=$("#loanterm").val();
        var loantermtype=$("#loantermtype").val();
           
        var loantermtypestr;
        //将日期字符串分隔为数组,数组元素分别为年.月.日
        var date1Str = pactbegindate.split("-");
        //根据年 . 月 . 日的值创建Date对象
        var date1Obj = new Date(date1Str[0],(date1Str[1]-1),date1Str[2]);

        //将日期字符串分隔为数组,数组元素分别为年.月.日
        var date2Str = pactenddate.split("-");
        //根据年 . 月 . 日的值创建Date对象
        var date2Obj = new Date(date2Str[0],(date2Str[1]-1),date2Str[2]);

        var year1 = date1Obj.getFullYear();
        var year2 = date2Obj.getFullYear();

        //相差的年数
        var differYears =year2-year1;
        
        var month1 = date1Obj.getMonth(); 
        var month2 = date2Obj.getMonth();

        //相差的月数
        var differMonths=differYears*12+(month2-month1);

        var day1=parseInt(date1Str[2]);
        var day2=parseInt(date2Str[2]);

        //相差的天数
        var differDays=day2-day1;

        if(null!=loantermtype&&loantermtype==1){
            loantermtypestr="年";
            if (loanterm!=differYears) {
                alert("起止日期相差的年数"+differYears+loantermtypestr+",合同期限:"+loanterm+loantermtypestr+",请确认起止日期是否正确!");
                return false;
            }

            if (month2!=month1) {
                alert("请检查起止日期的月份是否相等!");
                return false;
            }

            //大于等于就正确
            if (differDays<0) {
                alert("请检查起止日期的'天数'是否正确!");
                return false;
            }
            
            return true;
        }else if(null!=loantermtype&&loantermtype==2){
            loantermtypestr="个月";
            if (loanterm!=differMonths) {
                alert("起止日期相差的月数"+differMonths+loantermtypestr+",合同期限:"+loanterm+loantermtypestr+",请确认起止日期是否正确!");
                return false;
            }

            //大于等于就正确
            if (differDays<0) {
                alert("请检查起止日期的'天数'是否正确!");
                return false;
            }
            
            return true;
        }else{
            var t1 = date1Obj.getTime();
            var t2 = date2Obj.getTime();
            var dateTime = 1000*60*60*24; //每一天的毫秒数
            var minusDays = Math.floor(((t2-t1)/dateTime));//计算出两个日期的天数差
            var days = Math.abs(minusDays);//取绝对值
            
            loantermtypestr="天";
            if (loanterm!=days) {
                alert("起止日期相差的天数"+days+loantermtypestr+",合同期限:"+loanterm+loantermtypestr+",请确认起止日期是否正确!");
                return false;
            }
            return true;
        }
    }

 

转载于:https://www.cnblogs.com/xh_Blog/p/9604153.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值