两个日期之间的有效日期

题目:输入两个日期,输出两个日期之间的有效日期。

答:

 1 function RealDate(start,end){
 2    const dayTimes = 24*60*60*1000; // 换算成毫秒级别
 3    const range = end.getTime() - start.getTime();
 4    let total = 0;
 5    res = [];
 6    while(total <= range && range > 0 ) {
 7        res.push(new Date(start.getTime() + total).toLocaleDateString().replace(/\//g,'-')))
 8        total += dayTimes
 9    }
10    return res;
11 }
12 
13 var start = "2019-02-04"
14 var end = "2019-03-07"
15 //console.log(new Date(start).getTime())
16 var arr = RealDate(new Date(start),new Date(end))
17 console.log(arr)

anwser:[ '2019-2-4', '2019-2-5', '2019-2-6', '2019-2-7' ]

主要思路是换算成毫秒级别。采用new Date(ms),此ms表示的是需要与 GMT时间1970年1月1日之间相差的毫秒数。这样一来不需要自己判断每个月的天数,会自动转换。而toLocaleDateString()是根据该日期的日期格式的字符串。后面的正则,是因为不同浏览器toLocaleString的结果可能会出现'2019/09/02'的格式,所以替换.

猜你喜欢

转载自www.cnblogs.com/DaYesahh/p/11447835.html