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

// 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;
    }

    原文作者:Study_Live_Sun
    原文地址: https://blog.csdn.net/Study_Live_Sun/article/details/100976402
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞