zoukankan      html  css  js  c++  java
  • 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;
            }
        }
  • 相关阅读:
    exynos4412—CMU裸板复习
    有道云笔记markdown插入图片
    win10自带输入法提交所有中文输入的问题
    【wp】i春秋百度杯CTF比赛2016年12月场writeup
    【wp】百度杯2017年春秋欢乐赛
    【python】为markdown自动生成目录
    【C】MSP432P401R手动实现呼吸灯斗艳
    【python】django实现扫码签到
    【python】观影时定时自动截图
    程序片段
  • 原文地址:https://www.cnblogs.com/xh_Blog/p/9604153.html
Copyright © 2011-2022 走看看