I am trying to request data from a Webserver. For that I need a list of dates represented as strings in YYYY-MM-DD
format. I have seen these three posts one, two and three but none of them worked for me. I have tried this and the other posts solutions too:
DateTime startDate = new DateTime(2018, 9, 7);
DateTime endDate = new DateTime(2018, 9, 30);
foreach (DateTime day in AllDays(startDate, endDate))
{
string dayX = day.ToString("yyyy-mm-dd", CultureInfo.InvariantCulture);
InsertEntry(dayX, requestLimit, connection);
}
Using the following Method:
private static IEnumerable<DateTime> AllDays(DateTime from, DateTime to)
{
for (DateTime day = from.Date; day.Date <= to.Date; day = day.AddDays(1))
yield return day;
}
Unfortunately the Date that I recieve as a String after converting the DateTime Object using the first code snippet, looks like this : 2018-00-07
which obviously is not a valid date. I seem to be unable to find my mistake. Therefore my questions are:
1) Is my conversion wrong or is the error part of the Enumerable creation?
2) How is this (efficiently) done? Overhead is kind of important since this will be running on a server.