zoukankan      html  css  js  c++  java
  • 日期间隔(除去周六、日)

        //日期间的工作日
        function calculateWorkDays(fromStr, toStr, holidayArray) {
            var from = new Date();
            var to = new Date();
            var fromTime = Date.parse(fromStr);
            var toTime = Date.parse(toStr);
            from.setTime(fromTime);
            from.setHours(0);
            from.setMinutes(0);
            from.setSeconds(0);
            var orgTime = from.getTime();
    
            to.setTime(toTime);
            to.setHours(0);
            to.setMinutes(0);
            to.setSeconds(0);
    
            if (from.getTime() > to.getTime()) {
                return 0;
            }
            //把起始日都修正到星期六 javascript的星期0始,所以+1??理 
            var sDayofWeek = from.getDay() + 1;
            var workdays = 0;
    
            if (sDayofWeek > 1 && sDayofWeek < 7) {
                from.setDate(from.getDate() - (sDayofWeek % 7));
                workdays -= ((sDayofWeek - 2) > 0) ? sDayofWeek - 2 : 0;
            }
            //
    
            var totalDays = (to.getTime() - from.getTime()) / (1000 * 60 * 60 * 24) + 1;
            workdays += Math.floor(totalDays / 7) * 5;
    
            //修正最后剩余天? 
            if ((totalDays % 7 - 2) > 0) {
                workdays += (totalDays % 7 - 2);
            }
    
            if (holidayArray != null) {
                for (var i = 0; i < holidayArray.length; i++) {
                    if (holidayArray[i].getTime() > orgTime && holidayArray[i].getTime() < to.getTime()) {
                        if (holidayArray[i].getDay() > 0 && holidayArray[i].getDay() < 6) {
                            workdays--;
                        }
                    }
                }
            }
            return workdays;
    
        }
  • 相关阅读:
    货车运输 noip2013day1t3
    热浪 洛谷1339 (对于最短路的复习)
    10.25 考试总结
    2017.10.27
    2017.10.26 noip2013day1
    2017.10.24
    2017.10.23 noip2014day2测试
    bzoj3173 最长上升子序列 题解--Treap+nlogn求LIS
    bzoj1588 营业额统计 题解--Treap
    codevs1068 乌龟棋 题解
  • 原文地址:https://www.cnblogs.com/chirifengye/p/2981998.html
Copyright © 2011-2022 走看看