获取上一个月和下一个月时间
获取上一个月时间,返回yyyy-MM-dd字符串
function getLastMonthTime(date){ // 1 2 3 4 5 6 7 8 9 10 11 12月 var daysInMonth = [0,31,28,31,30,31,30,31,31,30,31,30,31]; var strYear = date.getFullYear(); var strDay = date.getDate(); var strMonth = date.getMonth()+1; //一、解决闰年平年的二月份天数 //平年28天、闰年29天//能被4整除且不能被100整除的为闰年,或能被100整除且能被400整除 if (((strYear % 4) === 0) && ((strYear % 100)!==0) || ((strYear % 400)===0)){ daysInMonth[2] = 29; } if(strMonth - 1 === 0) //二、解决跨年问题 { strYear -= 1; strMonth = 12; } else { strMonth -= 1; } // strDay = daysInMonth[strMonth] >= strDay ? strDay : daysInMonth[strMonth]; strDay = Math.min(strDay,daysInMonth[strMonth]);//三、前一个月日期不一定和今天同一号,例如3.31的前一个月日期是2.28;9.30前一个月日期是8.30 if(strMonth<10)//给个位数的月、日补零 { strMonth="0"+strMonth; } if(strDay<10) { strDay="0"+strDay; } var datastr = strYear+"-"+strMonth+"-"+strDay; return datastr; }
获取下一个月时间,返回yyyy-MM-dd字符串
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; }