两个日期之间的有效日期

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

答:

 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'的格式,所以替换.

转载于:https://www.cnblogs.com/DaYesahh/p/11447835.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值