开始编码工作也有段时间了,想想没有留下点什么,有点遗憾。学到的一些经验,写写,分享一下。也给自己整理一下。
今天分享一下,在原有的日期上添加天数输出添加后的日期。开始做的时候,简单的思路是,直接用new Date(),得到的本地时间再在new Date().getDate();再加上对应的天数。
这样有个问题,如果时间是在31日的就上去就不对了或者加的数字过大也不对了。
解决思路:接下来提供一个思路,就是通过setDate(),得到的日期是会在原有日期加上天数,而超出当月的天数自动填补到下个月。
js代码:
1 <script type="text/javascript"> 2 //日期,在原有日期基础上,增加days天数,默认增加1天 3 function addDate(date, days) { 4 if(days == undefined || days == '') { 5 days = 1; 6 } 7 var date = new Date(date); 8 date.setDate(date.getDate() + days); 9 var month = date.getMonth() + 1; 10 var day = date.getDate(); 11 var mm = "'" + month + "'"; 12 var dd = "'" + day + "'"; 13 14 //单位数前面加0 15 if(mm.length == 3) { 16 month = "0" + month; 17 } 18 if(dd.length == 3) { 19 day = "0" + day; 20 } 21 22 var time = date.getFullYear() + "-" + month + "-" + day 23 return time; 24 } 25 26 var addTime = addDate("2017-07-24", 2); 27 console.log(addTime);//2017-07-26 28 </script>
全部代码:
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
1 <!DOCTYPE html> 2 <html> 3 4 <head> 5 <meta charset="UTF-8"> 6 <title></title> 7 </head> 8 9 <body> 10 <h1></h1> 11 12 <script type="text/javascript"> 13 //日期,在原有日期基础上,增加days天数,默认增加1天 14 function addDate(date, days) { 15 if(days == undefined || days == '') { 16 days = 1; 17 } 18 var date = new Date(date); 19 date.setDate(date.getDate() + days); 20 var month = date.getMonth() + 1; 21 var day = date.getDate(); 22 var mm = "'" + month + "'"; 23 var dd = "'" + day + "'"; 24 25 //单位数前面加0 26 if(mm.length == 3) { 27 month = "0" + month; 28 } 29 if(dd.length == 3) { 30 day = "0" + day; 31 } 32 33 var time = date.getFullYear() + "-" + month + "-" + day 34 return time; 35 } 36 37 var addTime = addDate("2017-07-24", 2); 38 console.log(addTime); //2017-07-26 39 </script> 40 </body> 41 42 </html>