How to create a list of dates between a start and end date in VB.NET

1 Answer

0 votes
Imports System
Imports System.Collections.Generic

Module Program

    ' Generate a list of dates from start to end (inclusive)
    Function GenerateDates(startDate As DateTime, endDate As DateTime) As List(Of DateTime)
        Dim dates As New List(Of DateTime)()

        If startDate > endDate Then
            Return dates   ' empty list
        End If

        Dim d As DateTime = startDate
        While d <= endDate
            dates.Add(d)
            d = d.AddDays(1)
        End While

        Return dates
    End Function

    Sub Main()
        Dim startDate As New DateTime(2026, 1, 3)
        Dim endDate As New DateTime(2026, 1, 12)

        Dim dates As List(Of DateTime) = GenerateDates(startDate, endDate)

        Console.WriteLine($"Generated {dates.Count} dates:")
        For Each d In dates
            Console.WriteLine(d.ToString("yyyy-MM-dd"))
        Next
    End Sub

End Module



' 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
...