SOLVED - Problem mit System.DateTime.AddDays(double)
-
Hallo,
bezogen auf folgendes Beispiel habe ich einen kurzen Code geschrieben, der leider nicht funktioniert.
https://msdn.microsoft.com/de-de/library/system.datetime.adddays(v=vs.110).aspxint WorkDays = 0; System.DateTime StartDate = new System.DateTime(2017, 02, 25); System.DateTime EndDate = new System.DateTime(2017, 03, 02); System.DateTime ActDate = StartDate.AddDays(1); //kein Fehler! System.TimeSpan Days = EndDate.Subtract(StartDate); do { if(ActDate.DayOfWeek != DayOfWeek.Saturday && ActDate.DayOfWeek != DayOfWeek.Sunday) { WorkDays++; } ActDate = ActDate.AddDays(1); //Fehler! } while (StartDate < EndDate); Console.WriteLine("Between " + StartDate.ToString() + " and " + EndDate.ToString() + " there are " + Days.Days + " days!"); Console.WriteLine("Between " + StartDate.ToString() + " and " + EndDate.ToString() + " there are " + WorkDays + " workdays!"); Console.WriteLine();
Zunächst einmal ist mir klar, dass Feiertage wie z.B. der 1.Mai oder der 25.12 hier nicht berücksichtigt werden - das kommt noch. Allerdings funktioniert schon dieses einfache Codebeispiel nicht.
Die Fehlermeldung aus Zeile 3 lautet:
The added or subtracted value results in an un-representable DateTime.Hat jemand eine Ahnung?
-
Sorry, sorry - hab den Fehler schon gefunden.
do{ //... }while(ActDate < EndDate);
So muss das natürlich heißen.