开始编码工作也有段时间了,想想没有留下点什么,有点遗憾。学到的一些经验,写写,分享一下。也给自己整理一下。
今天分享一下,在原有的日期上添加天数输出添加后的日期。开始做的时候,简单的思路是,直接用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
“世界是个叙述者, 而我们却蒙上黑布, 嗤之以鼻。”