计算距离未来某天还有多少个工作日和多少个周末,很有意思

//一天的毫秒数
02var oneDay = 1000 * 60 * 60 * 24;
03
04//from:起始
05//to:截止
06function calcWeekend(from, to){
07    //两个日期相距的天数
08    var interval = Math.floor(to.getTime() / oneDay) - Math.floor(from.getTime() / oneDay);
09
10    //计算星期几
11    var x = from.getDay(); //0-6
12
13    //计算多少个星期
14    var weeks = Math.floor(interval / 7);
15
16    //计算零头
17    var rest = interval - weeks*7;
18
19    //根据当天是星期几,加上零头,计算截止日是星期几
20    var y = x + rest;
21
22    //每周算2天周末,计算一共多少个周末
23    var weekend = weeks * 2;
24    //处理临界点,比如起始日是周日
25    if(x == 6){
26        weekend -= 1;
27    }
28    if(y == 6){
29        weekend += 1;
30    }
31    else if(y > 5){
32        weekend += 2;
33    }
34
35    //weekend 的值就是周末的天数
36
37    //weekday 的值就是工作日的天数
38    weekday =interval - weekend;
39}


转载于:https://my.oschina.net/u/1403159/blog/189410

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值