js判断时间跨度,以月数为单位

function test(startDate, endDate, monthNum) {
        var startYear = startDate.substring(0, 4);
        var startMonth = startDate.substring(4, 6);
        var startDay = startDate.substring(6, 8);
        var endYear = endDate.substring(0, 4);
        var endMonth = endDate.substring(4, 6);
        var endDay = endDate.substring(6, 8);
        var betweenMonth = (parseInt(endYear) - parseInt(startYear)) * 12 +
            parseInt(endMonth - startMonth);
        if (monthNum >= 0 && (parseInt(endDay, 10) - parseInt(startDay, 10)) > 0) {
            betweenMonth = Math.abs(betweenMonth) + 1;
        }
        if (monthNum < 0 && (parseInt(endDay, 10) - parseInt(startDay, 10)) < 0) {
            betweenMonth = Math.abs(betweenMonth) + 1;
        }
        //兼容负数,用绝对值来比较
        betweenMonth = Math.abs(betweenMonth);
        monthNum = Math.abs(monthNum);
        if (betweenMonth === 0)
            return true;
        else if (betweenMonth - monthNum <= 0) {
            return true;
        } else {
            return false;
        }
    }string

相关文章
相关标签/搜索