最近遇到了个问题,就是想要得到的今天的前几天,后几天,今天前几年,后几年。
既然不能确定想要得到今年之前之后的日期,又不能确定是几年,还是几天。那我们就做两个方法,一个方法为算出今年前后的某一年,另一个方法算出这年的前几天。下面简单介绍一下这两个方法
1.年
function getLastYearYestdy(num){
var date = new Date();
var strYear = date.getFullYear() - num;
var strDay = date.getDate();
var strMonth = date.getMonth()+1;
if(strMonth<10)
{
strMonth='0'+strMonth;
}
if(strDay<10)
{
strDay='0'+strDay;
}
var datastr = strYear+'-'+strMonth+'-'+strDay;
return datastr;
}
这个方法中的num参数表示你想要的到的几年前的今天的日期,如果想要的到几年后的日期,num传入负数 即可。
2.天
function getDateStr(days,AddDayCount) {
var dd = new Date(days);
dd.setDate(dd.getDate()+AddDayCount);//获取AddDayCount天后的日期
var y = dd.getFullYear();
var m = dd.getMonth()+1;//获取当前月份的日期
var d = dd.getDate();
return y+'-'+(m<10?'0'+m:m)+'-'+(d<10?'0'+d:d);
}
这个方法中的days参数表示的是你需要传入的日期,AddDayCount参数表示你想的到这个日期的前后某天。AddDayCount参数为 ‘1’表示这个日期后的一天的日期,如果为‘-1’表示这个日期前一天的日期。
当然如果你的需求既有年又有天就可以将getLastYearYestdy(num)变为getDateStr方法的第一个参数即可。