Counting regular working days in a given period of time

后端 未结 8 554
庸人自扰
庸人自扰 2021-01-12 05:38

need some help. I need to count regular working days for a given date period, for example, in our country, we have 5 regular working days monday to friday, then in code i ne

8条回答
  •  既然无缘
    2021-01-12 05:48

    Not very fast, but this will do the trick:

    int GetRegularWorkingDays(DateTime start, DateTime end)
    {
        return (
            from day in Range(start, end)
            where day.DayOfWeek != DayOfWeek.Saturday
            where day.DayOfWeek != DayOfWeek.Sunday
            select day).Count();
    }
    
    IEnumerable Range(DateTime start, DateTime end)
    {
        while (start <= end)
        {
            yield return start;
            start = start.AddDays(1);
        }
    }
    

提交回复
热议问题