Fehler bei Kalender
-
Hallo allerseits,
arbeite gerade an einem Zeiterfassungsprogramm. Dabei verwende ich das Kalender-Tool zum auswählen des Datums. Zur Berechnung der Anzahl der Tage benutze ich die Klasse CTimeSpan. Nun ist mir ein ganz komischer Fehler untergekommen:
CTime start1(2008,3,1,0,0,0); CTime end1(2008,3,30,0,0,0); CTime start2(2008,3,1,0,0,0); CTime end2(2008,3,31,0,0,0); CTimeSpan diff1 = end1-start1; CTimeSpan diff2 = end2-start2; TRACE("Delta1 = %d\n",diff1.GetDays()); TRACE("Delta2 = %d\n",diff2.GetDays());Das Ergebnis lautet zweimal 29 !!!!! Ist das nur bei mir so?? Ich bin dem nachgegangen und bin daraufgekommen, dass dieser Fehler für jedes Jahr bei jedem letzten Sonntag/Montag im März auftaucht - echt ziemlich komisch.
Hat irgendjemand eine Erklärung hierfür? Ist der Fehler bekannt? Oder taucht er etwa nur an meinem Rechner auf? Bin dankbar für jeden Hinweis.
Grüße
Nana
-
Kann Dir jetzt keinen Grund dafür geben warum das gleiche Ergebnis raus kommt, is aber bei mir genau so, wenn ich dagegen COleDatTime und COleDateTimeSpan Benutze bekomme ich
Delta1 = 29
Delta2 = 30raus. Davon abgesehen benutze ich immer COleDateTime wenn ich mit einem Dateun zuschaffen habe.
Gruß Matthias
-
Ja, funktioniert - dankeschön.
Hoffe mal dass bei dieser Klasse nicht irgendwo anders ähnliche Fehler auftreten!