How to calculate the number of weekdays in the current year with C#

2 Answers

0 votes
using System;

class WeekdayCalculator
{
    static void Main()
    {
        int year = DateTime.Now.Year;
        int weekdayCount = CountWeekdaysInYear(year);
        
        Console.WriteLine($"Number of weekdays in {year}: {weekdayCount}");
    }

    static int CountWeekdaysInYear(int year)
    {
        int weekdayCount = 0;

        for (DateTime date = new DateTime(year, 1, 1); date.Year == year; date = date.AddDays(1)) {
            if (date.DayOfWeek != DayOfWeek.Saturday && date.DayOfWeek != DayOfWeek.Sunday) {
                weekdayCount++;
            }
        }

        return weekdayCount;
    }
}


/*
run:

Number of weekdays in 2025: 261

*/

 



answered Feb 17, 2025 by avibootz
0 votes
using System;
using System.Linq;

class Program
{
    static void Main()
    {
        int year = DateTime.Now.Year;
        int weekdayCount = CountWeekdaysInYear(year);
        
        Console.WriteLine($"Number of weekdays in {year}: {weekdayCount}");
    }

    static int CountWeekdaysInYear(int year) {
        int weekdayCount = 0;

        DateTime startDate = new DateTime(year, 1, 1);
        DateTime endDate = new DateTime(year, 12, 31);

        return Enumerable.Range(0, (endDate - startDate).Days + 1)
                         .Select(offset => startDate.AddDays(offset))
                         .Count(date => date.DayOfWeek != DayOfWeek.Saturday && date.DayOfWeek != DayOfWeek.Sunday);
    }
}



/*
run:

Number of weekdays in 2025: 261

*/

 



answered Feb 17, 2025 by avibootz

Related questions

1 answer 154 views
1 answer 80 views
1 answer 88 views
2 answers 85 views
1 answer 105 views
1 answer 73 views
1 answer 112 views
112 views asked Jan 10, 2024 by avibootz
...