- //一天的毫秒数
- var oneDay = 1000 * 60 * 60 * 24;
- //from:起始
- //to:截止
- function calcWeekend(from, to){
- //两个日期相距的天数
- var interval = Math.floor(to.getTime() / oneDay) - Math.floor(from.getTime() / oneDay);
- //计算星期几
- var x = from.getDay(); //0-6
- //计算多少个星期
- var weeks = Math.floor(interval / 7);
- //计算零头
- var rest = interval - weeks*7;
- //根据当天是星期几,加上零头,计算截止日是星期几
- var y = x + rest;
- //每周算2天周末,计算一共多少个周末
- var weekend = weeks * 2;
- //处理临界点,比如起始日是周日
- if(x == 6){
- weekend -= 1;
- }
- if(y == 6){
- weekend += 1;
- }
- else if(y > 5){
- weekend += 2;
- }
- //weekend 的值就是周末的天数
- //weekday 的值就是工作日的天数
- weekday =interval - weekend;
- }
- //该片段来自于http://www.codesnippet.cn/detail/160420149299.html
来源: http://www.codesnippet.cn/detail/160420149299.html