想自己写一个日期的加减方法,但是涉及到每个月天数的判断,如果是2月份的话,还要涉及到闰年的判断,有些复杂,其实只要调用Date对象的setDate()函数就可以了,具体方法如下:
function addDate(date,days){ var d=new Date(date); d.setDate(d.getDate()+days); var month=d.getMonth()+1; var day = d.getDate(); if(month<10){ month = "0"+month; } if(day<10){ day = "0"+day; } var val = d.getFullYear()+""+month+""+day; return val; }
$("#loadSource").bind("click", function(e) { //alert("sssss"); var startTime = $("#start").val(); var endTime = $("#end").val(); endTime = addDate(endTime,1); //console.log(endTime); $(this).find("a").attr("href", "../../api/count/exportResourceExcel?startTime=" + startTime + "&endTime=" + endTime + ""); //$(this).find("a").trigger("click"); });
其中,date参数是要进行加减的日期,格式YYYY-MM-DD,days参数是要加减的天数,如果往前算就传入负数,往后算就传入正数,如果是要进行月份的加减,就调用setMonth()和getMonth()就可以了,需要注意的是返回的月份是从0开始计算的,也就是说返回的月份要比实际月份少一个月,因此要相应的加上1。
特别:注意年月日组合的时候,不能直接+,会当做int类型求和,要转换成字符串。