js_在原有的日期上添加天数输出添加后的日期

开始编码工作也有段时间了,想想没有留下点什么,有点遗憾。学到的一些经验,写写,分享一下。也给自己整理一下。

今天分享一下,在原有的日期上添加天数输出添加后的日期。开始做的时候,简单的思路是,直接用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>

 全部代码:

 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>
View Code

 

posted @ 2017-07-24 18:33  幽谷兰花  阅读(15351)  评论(0编辑  收藏  举报