public static void Main()
int totalWorkingDaysInMonth = GetWorkingDays(DateTime.Now.AddDays(-31),DateTime.Now);
Console.WriteLine(totalWorkingDaysInMonth);
public static int GetWorkingDays(DateTime dtmStart, DateTime dtmEnd)
int dowStart = ((int)dtmStart.DayOfWeek == 0 ? 7 : (int)dtmStart.DayOfWeek);
int dowEnd = ((int)dtmEnd.DayOfWeek == 0 ? 7 : (int)dtmEnd.DayOfWeek);
TimeSpan tSpan = dtmEnd - dtmStart;
return (((tSpan.Days / 7) * 5) + Math.Max((Math.Min((dowEnd + 1), 6) - dowStart), 0));
return (((tSpan.Days / 7) * 5) + Math.Min((dowEnd + 6) - Math.Min(dowStart, 6), 5));