js中计算日期加月份

    //时间加月
    function AddMouth(date, num) {
        //date为格式化后的日期字符yyyy-MM-dd,num为增加的月份
        if (num) {
            var monthnum = parseInt(num);
            var year = parseInt(date.substring(0, 4));
            var month = parseInt(date.substring(5, 7));
            var day = parseInt(date.substring(8, 10));
            if (month + monthnum > 12) {
                debugger;
                //算年
                var yearstr = parseInt((month + monthnum) / 12);
                var newyear = year + yearstr;
                //算月
                var monthstr = (month + monthnum) - (12 * yearstr);
                var newmonth = (monthstr + "").length == 1 ? "0" + monthstr : monthstr;
                var newday = (day + "").length == 1 ? "0" + day : day;
                //判断闰年
                if (((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0))&&month==2&&day==29&&num>=12) {
                    //到达的年份不是闰年
                    if (!((newyear % 4 == 0 && newyear % 100 != 0) || (newyear % 400 == 0))) {
                        newmonth = (monthstr +"").length == 1 ? "0" + (monthstr+1) : monthstr;
                        newday = "01";
                    }
                }
            } else {
                var newyear = year
                //算月
                var monthstr = month + monthnum;
                var newmonth = (monthstr + "").length == 1 ? "0" + monthstr : monthstr;
                var newday = (day + "").length == 1 ? "0" + day : day;
            }
            var newdate = newyear + "-" + newmonth + "-" + newday;
            return newdate;
        }
        return date;
    }
Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐