在C#中,我如何计算两个日期之间的工作日差异?

leo*_*ora 2 c# datetime timespan

我知道我可以用这个来计算两个日期之间的天差:

private int DaysFromStart(DateTime date, DateTime startDate)
{
    var days =  date.Subtract(startDate);
    return (int)days.TotalDays;
}
Run Code Online (Sandbox Code Playgroud)

但现在我想通过仅包括工作日获得两个日期之间的差异.因此,例如,如果开始日期是星期五,要检查的日期是下一个星期一,则返回值将为1.

gpm*_*thy 6

请考虑以下代码段...

int allDays = (int)date.Subtract(startDate).TotalDays;
int weekDays = Enumerable
                .Range(1, allDays)
                .Select(day => startDate.AddDays(day))
                .Count(day => day.DayOfWeek != DayOfWeek.Saturday && day.DayOfWeek != DayOfWeek.Sunday);
Run Code Online (Sandbox Code Playgroud)

祝好运!