TDateTime x - 2 Jahre
-
Hi,
wie kann ich abfragen ob datum <x> min. 2 Jahre kleiner ist als datum <y>?
also sprich:
01.01.2000 und 01.01.2003 = true
01.01.2000 und 01.01.2001 = falseDanke im Voraus
cu Errraddicator
-
Suchfunktion!? Z.B.
http://www.c-plusplus.net/forum/viewtopic.php?t=48830&highlight=tdatetime+subtrahieren
-
kapier ich irgendwie nicht.
ich muss mein datum ja erst einmal um zwei jahre zurücksetzen und dann kann ich es doch vergleichen...
moment...
ja dann mach ich es doch einfach mit FormatStringint year = x.FormatString("yyyy").ToIntDef(2) - 2; TDateTime temp = x.FormatString("dd.mm.") + AnsiString(year); if(xyz < temp) //...das müsste doch funtkionieren oder?
-
das müsste doch funtkionieren oder?
Frag nicht lang, probiers einfach aus !
-
Solange der Tag/Monat-Teil gleich ist sollte das funktionieren. Aber z.B. zwischen dem 01.01.2001 und dem 31.12.2003 liegen (fast) drei Jahre.
Es kommt halt auch darauf an, wass du eigentlich vergleichen willst, nur Jahreszahlen oder echte Zeitspannen.
-
also ich muss ne liste aufbauen wo arbeitnehmer nach dauer der zugehörigkeit einsortiert werden.
sprich alle die die mindestens 2 jahre dabei sind kommen in liste a, alle anderen in liste b.und dafür müsste das doch eigentlich reichen.
die ersten (groben) tests hauen auch hin...
-
Wenn es dich nicht stört, dass jemand mit in deine 2-Jahre-Kategorie fällt, der am 01.12.2002 eingestellt wurde und am am 01.01.2004 eigentlich erst ein Jahr und einen Monat dabei ist ...
-
Warum versucht ihr es nicht einfach mal mit:
extern PACKAGE int __fastcall YearsBetween(const System::TDateTime ANow, const System::TDateTime AThen);In der Hilfe steht noch mehr dazu

Falls dir diese Methode nicht zusagt, kannste auch
extern PACKAGE int __fastcall DaysBetween(const System::TDateTime ANow, const System::TDateTime AThen);nehmen und dir selber aus den Tagen, Jahre machen.
Es gibt auch nochWeeksBetween oder MonthBetween
