javascript根据贷款开始日期计算贷款到期日

154 阅读1分钟
function getDeadline(startDate, periods) {
            periods = periods * 1;
            startDate = startDate.replace(/[\/.]/g, "/");
            var start = new Date(startDate);
            var y = start.getFullYear();
            var m = start.getMonth() + 1;
            var d = start.getDate();
            var is229 = false;
            //判断闰年2.29
            if(y % 4 == 0 && m == 2 && d == 29) {
                is229 = true
            }
            var yearNum = 0;
            var monthNum = 0;
            if(periods >= 12) {
                yearNum = parseInt(periods / 12);
                monthNum = periods % 12;
            } else {
                monthNum = periods;
            }
            yearNum > 0 ? y += yearNum : null;
            if(monthNum > 0) {
                if(monthNum + m > 12) {
                    y += 1;
                    m = monthNum + m - 12
                } else {
                    m = monthNum + m
                }
            }
            if(is229 && periods % 12 == 0 && y % 4 != 0) {
                d -= 1
            }
            return y + "/" + m + "/" + d
        }