JS日期操作,自动计算n年后、n月后、n天后的日期

//   n天后
        function doit(dtstr,n) {
            var v = dtstr;
            if (v == "") return false;
            var dt = new Date(v.replace(/\-/g, "\/"));
            dt.setDate(dt.getDate() + n);
            var newdt = dt.getFullYear() + "-" + (dt.getMonth() + 1) + "-" + dt.getDate();
            return newdt;
             
        }
       


        function addmulMonth(dtstr, n) {       //   n个月后
           
            var s = dtstr.split("-");
            var yy = parseInt(s[0]);
            var mm = parseInt(s[1]) - 1;
            var dd = parseInt(s[2]);
            var dt = new Date(yy, mm, dd);
            dt.setMonth(dt.getMonth() + n);
            if ((dt.getYear() * 12 + dt.getMonth()) > (yy * 12 + mm + n)) {
                dt = new Date(dt.getYear(), dt.getMonth(), 0);
            }

            return dt.getYear() + "-" + dt.getMonth() + "-" + dt.getDate();
        }    

 

//n年后

        function addmulYear(dtstr,n)
        {
            var s = dtstr.split("-");
            var yy = parseInt(s[0]);
            var mm = parseInt(s[1]);
            var dd = parseInt(s[2]);

            return yy + n + "-" + mm + "-" + dd;
        }

posted @ 2012-02-04 10:52  @海滨@  阅读(1397)  评论(0编辑  收藏  举报