代码见详情

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
// 获取时间范围内的每一天
fz(num) {
if (num < 10) {
num = "0" + num;
}
return num
},

// 将结果放在数组中,使用数组的join方法返回连接起来的字符串,并给不足两位的天和月十位上补零
getYMD(value) {
return [value.getFullYear(), this.fz(value.getMonth() + 1), this.fz(value.getDate())].join("-");
},

// 给String对象添加getDate方法,使字符串形式的日期返回为Date型的日期
getDate(value) {
let strArr = value.split('-');
return new Date(strArr[0], strArr[1] - 1, strArr[2]);
},

getDays(day1, day2) {
let st = this.getDate(day1);
let et = this.getDate(day2);

let retArr = [];

// 获取开始日期的年,月,日
let yyyy = st.getFullYear(),
mm = st.getMonth(),
dd = st.getDate();

// 循环
while (st.getTime() != et.getTime()) {
// 使用dd++进行天数的自增
st = new Date(yyyy, mm, dd++);
retArr.push(this.getYMD(st));
}

return retArr;
},

let dateArr = this.getDays('2019-01-01', '2019-01-20');
console.log(dateArr);