c# number of days between two dates code example

Example 1: c# calculate difference between two dates in days

(EndDate - StartDate).TotalDays //double
(EndDate.Date - StartDate.Date).Days //int

Example 2: total months between two dates c#

((date1.Year - date2.Year) * 12) + date1.Month - date2.Month

Example 3: Get all dates of every monday between two dates in c#

public static List<DateTime> GetWeekdayInRange(this DateTime from, DateTime to, DayOfWeek day)
    {
        const int daysInWeek = 7;
        var result = new List<DateTime>();
        var daysToAdd = ((int)day - (int)from.DayOfWeek + daysInWeek) % daysInWeek;

        do
        {
            from = from.AddDays(daysToAdd);
            result.Add(from);
            daysToAdd = daysInWeek;
        } while (from < to);

        return result;
    }