jq计算两个日期之间的时间差,多少年多少月

本文介绍了一个JavaScript函数,用于计算两个日期之间的差值,并以“y年m月”的格式返回。输入日期格式需为“yyyy年mm月dd日”。通过拆分和比较日期,该函数能准确得出日期差。

// JS日期系列:根据出传入的日期 ,得到当前日期与传入日期的差,返回的格式是“y年m月”
    // 传入参数strKeyDate要求格式为“yyyy年mm月dd日”这样的日期字符串,如果不是自行先转换,或者调整下方“传入的日期,将其产分为年、月、日”的拆分方法
    // 后续再增加相关的如日期判断等JS关于日期处理的相关方法
    function jsGetYears(strKeyDate){
        // 需要返回的值,分别是:年数、月数、返回的字符串
        var returnYears= 0;
        var returnMonths = 0;
        var yearmonth = -1;
        // 传入的日期,将其产分为年、月、日
        var str = strKeyDate;
        var keyYear = str.split('')[0]+str.split('')[1]+str.split('')[2]+str.split('')[3];
        var keyMonth = str.split('')[5]+str.split('')[6];
        var keyDay = str.split('')[8]+str.split('')[9];
         // 当天日期,将其产分为年、月、日
        var now = new Date();
        var nowYear = now.getFullYear();
        var nowMonth = now.getMonth() + 1;
        var nowDay = now.getDate();
        // 分别计算年、月、日的差
        var yearDiff = nowYear - keyYear;
        var monthDiff = nowMonth - keyMonth;
        var dayDiff = nowDay - keyDay;


        // 以下是得到当前日期与传入日期的差的过程,返回的格式是“y年m月”;如果传入日期大于当前日期,则返回“-1”(大家也可以自行修改之)
        if(yearDiff < 0){
            return yearmonth;
        }

        if(yearDiff == 0 && monthDiff < 0){
            return yearmonth;
        }

        if(yearDiff == 0 && monthDiff == 0 && dayDiff < 0){
            return yearmonth;
        }
            
        returnYears = yearDiff;
        if(monthDiff < 0){
            returnYears = returnYears - 1;
            monthDiff = 12 + monthDiff;
        }

        returnMonths = monthDiff
        if(dayDiff < 0){
            returnMonths = returnMonths -1;
        }        
            
        yearmonth = returnYears + "年" + returnMonths + "月";
          // 返回日期差,格式是“y年m月”
        return yearmonth;
    }

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值