How to create a list of dates between a start and end date in C#

1 Answer

0 votes
using System;
using System.Collections.Generic;

class Program
{
    // Generate a list of dates from start to end (inclusive)
    static List<DateTime> GenerateDates(DateTime start, DateTime end) {
        var dates = new List<DateTime>();

        if (start > end)
            return dates; // empty list

        for (var d = start; d <= end; d = d.AddDays(1))
            dates.Add(d);

        return dates;
    }

    static void Main()
    {
        var start = new DateTime(2026, 1, 3);
        var end   = new DateTime(2026, 1, 12);

        var dates = GenerateDates(start, end);

        Console.WriteLine($"Generated {dates.Count} dates:");
        foreach (var d in dates)
            Console.WriteLine(d.ToString("yyyy-MM-dd"));
    }
}



/*
run:

Generated 10 dates:
2026-01-03
2026-01-04
2026-01-05
2026-01-06
2026-01-07
2026-01-08
2026-01-09
2026-01-10
2026-01-11
2026-01-12

*/

 



answered Jan 31 by avibootz
...