如何在没有周末的情况下获得DateTime.DaysInMonth?

Ere*_*rez 2 .net c# datetime

如何在没有周五和周六的情况下获得一个月内的C#天数?

Dan*_*bić 8

必要的LINQ解决方案:

int days = Enumerable.Range( 1, DateTime.DaysInMonth( year, month ) )
                     .Select( day => new DateTime( year, month, day ) )
                     .Count( d => d.DayOfWeek != DayOfWeek.Saturday &&
                                  d.DayOfWeek != DayOfWeek.Friday );
Run Code Online (Sandbox Code Playgroud)


Cam*_*tin 6

在这里,快速而肮脏:

class Program
{
    static void Main(string[] args)
    {
        int month = DateTime.Today.Month;
        int year = DateTime.Today.Year;

        int daysInMonthMinusFridayAndSaturday = 0;

        for (int i = 1; i <= DateTime.DaysInMonth(year,month); i++)
        {
            DateTime thisDay = new DateTime(year,month,i);
            if(thisDay.DayOfWeek != DayOfWeek.Friday && thisDay.DayOfWeek != DayOfWeek.Saturday)
            {
                daysInMonthMinusFridayAndSaturday += 1;
            }
        }

        Console.WriteLine(daysInMonthMinusFridayAndSaturday);
        Console.ReadLine();
    }
}
Run Code Online (Sandbox Code Playgroud)