Problem mit DateTime
-
Hallo allerseits,
ich möchte mir alle Tage in den nächsten 500 Tagen ausgeben, die Freitag, der 13. sind:#include "stdafx.h" using namespace System; int main(array<System::String ^> ^args) { DateTime d=DateTime::ParseExact("20.11.2014","d/M/yyyy",nullptr); for(int i=0;i<500;i++) { DateTime answer = d.AddDays(1); if (answer.DayOfWeek == "Friday" && answer.Day == 13) //Hier kommt der Fehler Console::Write( "{0:d}", answer); d=answer; } return 0; }
Der Compiler bemeckert:
==-Operator: Alle Operanden müssen den gleichen Enumerationstyp aufweisen.Kann mir jemand weiterhelfen?
Vielen dank im Voraus.
-
**
DateTime.DayOfWeek
ist vom TypSystem.DayOfWeek
**und kann daher nicht mit einem String verglichen werden.Versuch es mal so:
if (answer.DayOfWeek == DayOfWeek.Friday && answer.Day == 13)
-
Das folgende Programm gibt alle Tage in den nächsten 1000 Tagen aus, an denen der 13. auf einen Freitag fällt:
#include "stdafx.h" using namespace System; int main(array<System::String ^> ^args) { DateTime d=DateTime::ParseExact("12.12.2014","d/M/yyyy",nullptr); for(int i=0;i<1000;i++) { DateTime nextday = d.AddDays(1); if (nextday.DayOfWeek == DayOfWeek::Friday && nextday.Day == 13) Console::WriteLine( "{0:d}", nextday); d=nextday; } return 0; }