Anzahl der Tage im Monat ermitteln
-
Hallo zusammen.
Ich hab schonmal im Forum gesucht, aber nicht das gefunden was ich brauche.
Vielleicht kann mir jemand von Euch dabei helfen....Also, ich will zeit/datumsgesteuerte Events durchführen.
Dazu gibt man an, in wie vielen Stunden/Minuten das Event eintreten soll.
Wenn man jetzt z.b. 23 Uhr hat und als Zeitspanne z.b. 4 Stunden angibt, dann
muss das Event am nächsten Tag stattfinden.
Da ich das Datum für die Events anzeigen lasse muss ich jetzt ermitteln, ob dieser nächste Tag schon der 1. im nächsten Monat ist.
Deshalb benötige ich eine Methode, die mir die Anzahl der Tage im aktuellen Monat
ausgibt.Weiss jemand, obs da schon was gibt, oder muss ich selbst die Finger kreisen
lassen und zusätzlich noch ne Methode zur Schaltjahr-Ermittlung tippeln?Danke schonmal im Voraus!!
VG!
-
-
Cool, dank dir!!!
Warum hab ich das nicht selbst gefunden`?????
-
Sieh Dir mal die Dokumentation der Funktion mktime an. Dort darft Du auch ein ungüliges Datum angeben.
DJohn
-
die hier find ich interessant:
struct tm when; time_t now; time( &now ); when = *localtime( &now ); when.tm_mday = when.tm_mday + days;
-
Servus,
hier auch mit MFC:
int CDeinDlg::GetMaxDay(int iMonth, int iYear) { int iDay = 31; //Immer fest stehen lassen CTime tComp = CTime(iYear, iMonth, iDay, 0, 0, 0); if ((iDay - tComp.GetDay()) == 0) return 31; return iDay - tComp.GetDay(); }
Noch ein TRY & CATCH_ALL und dann passt es *g*. Bei 29 Rückgabe kanns nur ein Schaltjahr sein......
Ist zwar nicht notwendig aber wollte auch etwas loswerden
*winke*
Hellsgore
-
Cool, fettes merci hellsgore.
wie immer mal wieder mit guten tipps geholfen...
-
Wenn du das ganze ohne CTime machen willst:
#define ISLEAPYEAR(year) ((!((year) % 4) && (year) % 100) || !((year) % 400)) GetDaysOfMonth(int iMonth, int iYear) { return = 31 - (iMonth == 4 || iMonth == 6 || iMonth == 9 || iMonth == 11) - (3*(iMonth == 2) - (iMonth==2)*ISLEAPYEAR(iYear)); }
-
Danke nochmal für die netten Antworten