Ich hab volgendes Problem: Ich lese aus einem String ein Datum aus (im Format dd.mm.jjjj). Von diesem Datum möchte ich jezt das Alter wissen. Als Beispiel :
Datum : 04.08.1987
Alter: 20
So soweit ganz einfach und realisierbar. Nur was ist, wenn das Datum vor 1970 liegt. dann spinnt nämlich alles.
Des weiteren möchte ich wissen, ob der Geburtstag in den nächsten 30 Tagen = 1 Monat sein wird. Auch hier könnte man gut mit dem Timestamp arbeiten, wenn dieser negative Werte zulassen würde. Hier mein Code bis jezt:
acUser beinhaltet das Datum
Ich hätte das Alter mit time(NULL)-time(rawtime) ermittelt und dann die Sekunden umgerechnet.
danke für eure Hilfe
Datum : 04.08.1987
Alter: 20
So soweit ganz einfach und realisierbar. Nur was ist, wenn das Datum vor 1970 liegt. dann spinnt nämlich alles.
Des weiteren möchte ich wissen, ob der Geburtstag in den nächsten 30 Tagen = 1 Monat sein wird. Auch hier könnte man gut mit dem Timestamp arbeiten, wenn dieser negative Werte zulassen würde. Hier mein Code bis jezt:
acUser beinhaltet das Datum
Code:
sscanf(acUser,"%d.%d.%d",&day,&month,&year);
time (&rawtime);
timeinfo = localtime ( &rawtime );
timeinfo->tm_year = year - 1900;
timeinfo->tm_mon = month - 1;
timeinfo->tm_mday = day;
Datum[NUMLINES] = acUser;
//hier müsste das Alter bestimmt werden und in iAlter gespeichert werden
sprintf(acUser,"Geburtstag (%i)",iAlter);
Art[NUMLINES] = acUser;
if(1){ //nur ausgeben wenn Datum in diesem Monat (30 Tage)
NUMLINES++;
}
Ich hätte das Alter mit time(NULL)-time(rawtime) ermittelt und dann die Sekunden umgerechnet.
danke für eure Hilfe