C++ Wochentag und Kalenderwoche ermitteln?

lordfritte

Lieutenant
Registriert
Juli 2006
Beiträge
969
Hallo ich möchte eine Datumsklasse für ein Schulprojekt schreiben.
Ich gebe nun ein Datum, z.b. 13.02.2011 und möchte nun ermitteln welche Kalenderwoche und welcher Wochen tag dieses Datum ist, kennt da jemand eine einfach lösung?
Und dann nochwas:
Code:
time_t sekunden = time( (time_t *) 0 ); //Heute: 18.5.2009
tm *ptm = localtime( &sekunden );
int iDayOfYear = ptm->tm_yday;

Bei iDayOfYear kommt 137, aber wenn ich jetzt rechne:
Januar: 31
Februar: 28
März: 31
April: 30
Heute: 18

dann komme ich auf 138, also stimmt da wohl was nicht.
 
Zuletzt bearbeitet:
Ja, ich denke auch dass es einfach 0-basiert ist. Macht auch durchaus Sinn.

Ach ja, grundsätzlich bissl mehr Informationen würden nicht wirklich schaden zum Schulprojekt...
 
Wir sollen eigentlich nur was einfaches schreiben umd ein bisschen mit Datum und Zeiten zu arbeiten, aber ich will wieder übertreiben ^^
 
Zuletzt bearbeitet:
tarsonis schrieb:
Oder er faengt bei 0 an.

Jau. Steht auch so in der Manpage:

Code:
tm_yday
    The number of days since January 1, in the range 0 to 365.

Bzw. im C-Standard:
Code:
int tm_sec; // seconds after the minute — [0, 60]
int tm_min; // minutes after the hour — [0, 59]
int tm_hour; // hours since midnight — [0, 23]
int tm_mday; // day of the month — [1, 31]
int tm_mon; // months since January — [0, 11]
int tm_year; // years since 1900
int tm_wday; // days since Sunday — [0, 6]
[b]int tm_yday; // days since January 1 — [0, 365][/b]
int tm_isdst; // Daylight Saving Time flag
 
Zuletzt bearbeitet:
Zurück
Oben