js 获取指定日期上一天及下一天,上一月及下一月

1、获取指定日期上一天、下一天

function getNextDate(date,day) {  
  var dd = new Date(date);
  dd.setDate(dd.getDate() + day);
  var y = dd.getFullYear();
  var m = dd.getMonth() + 1 < 10 ? "0" + (dd.getMonth() + 1) : dd.getMonth() + 1;
  var d = dd.getDate() < 10 ? "0" + dd.getDate() : dd.getDate();
  return y + "-" + m + "-" + d;
};
//测试  
// getNextDate('2018-02-28', 1)
// getNextDate('2018-03-01', -1)

2、获取指定日期上一月

/** 
         * 获取上一个月 
         * 
         * @date 格式为yyyy-mm-dd的日期,如:2014-01-25 
         */  
function getPreMonth(date) {  
            var arr = date.split('-');  
            var year = arr[0]; //获取当前日期的年份  
            var month = arr[1]; //获取当前日期的月份  
            var day = arr[2]; //获取当前日期的日  
            var days = new Date(year, month, 0);  
            days = days.getDate(); //获取当前日期中月的天数  
            var year2 = year;  
            var month2 = parseInt(month) - 1;  
            if (month2 == 0) {  
                year2 = parseInt(year2) - 1;  
                month2 = 12;  
            }  
            var day2 = day;  
            var days2 = new Date(year2, month2, 0);  
            days2 = days2.getDate();  
            if (day2 > days2) {  
                day2 = days2;  
            }  
            if (month2 < 10) {  
                month2 = '0' + month2;  
            }  
            var t2 = year2 + '-' + month2 + '-' + day2;  
            return t2;  
        }
//测试          
//alert(getPreMonth("2014-01-25"));  

3、获取指定日期下一月

 /** 
         * 获取下一个月 
         * 
         * @date 格式为yyyy-mm-dd的日期,如:2014-01-25 
         */          
        function getNextMonth(date) {  
            var arr = date.split('-');  
            var year = arr[0]; //获取当前日期的年份  
            var month = arr[1]; //获取当前日期的月份  
            var day = arr[2]; //获取当前日期的日  
            var days = new Date(year, month, 0);  
            days = days.getDate(); //获取当前日期中的月的天数  
            var year2 = year;  
            var month2 = parseInt(month) + 1;  
            if (month2 == 13) {  
                year2 = parseInt(year2) + 1;  
                month2 = 1;  
            }  
            var day2 = day;  
            var days2 = new Date(year2, month2, 0);  
            days2 = days2.getDate();  
            if (day2 > days2) {  
                day2 = days2;  
            }  
            if (month2 < 10) {  
                month2 = '0' + month2;  
            }  
          
            var t2 = year2 + '-' + month2 + '-' + day2;  
            return t2;  
        }
//测试          
//alert(getNextMonth("2014-12-25")); 

猜你喜欢

转载自blog.csdn.net/BetterGG/article/details/84256314