Calculate the number of business days between two dates?

后端 未结 30 1688
悲&欢浪女
悲&欢浪女 2020-11-22 14:54

In C#, how can I calculate the number of business (or weekdays) days between two dates?

30条回答
  •  不要未来只要你来
    2020-11-22 15:47

    Define an Extension Method on DateTime like so:

    public static class DateTimeExtensions
    {
        public static bool IsWorkingDay(this DateTime date)
        {
            return date.DayOfWeek != DayOfWeek.Saturday
                && date.DayOfWeek != DayOfWeek.Sunday;
        }
    }
    

    Then, use is within a Where clause to filter a broader list of dates:

    var allDates = GetDates(); // method which returns a list of dates
    
    // filter dates by working day's  
    var countOfWorkDays = allDates
         .Where(day => day.IsWorkingDay())
         .Count() ;
    

提交回复
热议问题