tag zu datum addieren
-
hallo
wie kann ich eine anzahl tage zu einem beliebigen datum addieren oder subtrahieren.
Datum hat das format dd.mm.yyyy
-
Mir ist keine Funktion bekannt, die das automatisch macht.
Wo hast du denn Probleme, das von Hand zu machen?
-
Hallo
Ich habe es so probiertstruct tm lDate = {0,0,0,0,0,0,0,0,0}; time_t lResult; char lBuf[64]; int lYear, lMonth, lDay; strcpy(lBuf, tDateStr); sscanf(lBuf, "%d.%d.%d", &lDay, &lMonth, &lYear); lDate.tm_mday = lDay; lDate.tm_mon = lMonth; lDate.tm_year = lYear; lDate.tm_mday = lDate.tm_mday + tOffset; lResult = mktime( &lDate );
leider geht das so nicht, da lResult immer -1 ist. Die struktur lDate scheint nicht richtig initialisiert zu sein.
Was gibt es denn sonst noch für möglichkeiten?
-
ich glaub du hast vergessen, tOffset zu definieren
-
und was ist mit tDateStr?
-
vielleicht solltest du auch mal versuchen, mktime() nach jeder veränderung von lDate anzuwenden
-
tOffset und tDateStr sind übergabe parameter der funktion
-
Hm, jetzt muß ich mal blöd nachhaken:
Gehört mktime in irgendeiner Art zum ANSI- Standard
Ich finde das nämlich in keinem meiner Compiler beschrieben, hab aber auch nur embedded- Zeugs.
Und wenn man einfach Tage draufaddiert, dann bricht es Monate und Jahre korrekt um, also auch mit Schaltjahren, Säkularjahren usw? Wär' ja echt praktisch ...
-