Count of Specific Day Between Date Range

CSharp · Console

/Program.cs

using System;
using System.Collections.Generic;
using System.Linq;					
public class Program
{
	public static void Main()
	{
		DateTime StartDate = DateTime.Now.AddDays(-14);
            DateTime EndDate = DateTime.Now;
            DayOfWeek day = DayOfWeek.Monday;


            List<DateTime> dates =
            Enumerable.Range(0, (int)((EndDate - StartDate).TotalDays) + 1)
                      .Select(n => StartDate.AddDays(n))
                      .ToList();

            var MondayCount = dates.Count(x => x.DayOfWeek == day);
		    Console.WriteLine(day.ToString()+" occurs "+MondayCount+" times between "+StartDate.Date + " and "+EndDate.Date);
	}
}
;