1 // 日期,在原有日期基础上,增加days天数,默认增加1天 2 function addDate(date, days) { 3 if (days == undefined || days == '') { 4 days = 1; 5 } 6 var date = new Date(date); 7 date.setDate(date.getDate() + days); 8 var month = date.getMonth() + 1; 9 var day = date.getDate(); 10 return date.getFullYear() + '-' + getFormatDate(month) + '-' + getFormatDate(day); 11 } 12 13 // 日期月份/天的显示,如果是1位数,则在前面加上'0' 14 function getFormatDate(arg) { 15 if (arg == undefined || arg == '') { 16 return ''; 17 } 18 19 var re = arg + ''; 20 if (re.length < 2) { 21 re = '0' + re; 22 } 23 24 return re; 25 }
参考:
如题,开始查了查js的使用文档,但没发现可以直接用的函数,于是就想自己写函数来着,这就要涉及到每个月天数的判断,如果是2月份的话,还要涉及到闰年的判断,虽然不复杂但我想js应该不会这么低级,于是查了下资料,终于有了如下重大发现,以在某个日期上加减天数来说,其实只要调用Date对象的setDate()函数就可以了,具体方法如下:
function addDate(date,days){
var d=new Date(date);
d.setDate(d.getDate()+days);
var m=d.getMonth()+1;
return d.getFullYear()+'-'+m+'-'+d.getDate();
}
其中,date参数是要进行加减的日期,days参数是要加减的天数,如果往前算就传入负数,往后算就传入正数,如果是要进行月份的加减,就调用setMonth()和getMonth()就可以了,需要注意的是返回的月份是从0开始计算的,也就是说返回的月份要比实际月份少一个月,因此要相应的加上1。