-4

As i'm looking into possible solution to get dates between two dates. E.g. from 01-Dec-2020 to 05-Dec-2020 answer will be 02-Dec-2020,03-Dec-2020 and 04-Dec-2020. As the solution which i get is like these below.

DateTime futurDate = Convert.ToDateTime("08/21/2016");
DateTime TodayDate = DateTime.Now;
var numberOfDays = (futurDate - TodayDate).TotalDays;

or

DateTime FutureDate = DateTime.ParseExact("08/21/2016", "mm/dd/yyyy", CultureInfo.InvariantCulture);
DateTime TodayDate = DateTime.Now;

int days = (FutureDate - TodayDate).Days;

which only gives days count.
How can i get dates in between them .. ?

Corentin Pane
  • 4,680
  • 1
  • 13
  • 29
Naman Kumar
  • 583
  • 1
  • 5
  • 16

1 Answers1

1

We can do it with a loop for clarity.

            DateTime futurDate = Convert.ToDateTime("08/21/2016");
            DateTime TodayDate = DateTime.Now;

            var days = (futurDate - TodayDate).Days;
            var datesBetween = new List<DateTime>();

            for(var i=0; i < days; i++)
            {

                datesBetween.Add(TodayDate.AddDays(i + 1)); //Here are your dates
            }

Or with enumerables:

            var datesBetween =
                Enumerable.Range(1, (futurDate - TodayDate).Days)
                .Select(i => TodayDate.AddDays(i));
MarekK
  • 443
  • 3
  • 12