wochentag berechnung
-
kann mir vielleicht jemand sagen,wie ich ne function schreiben kann, die mir aus einem beliebigen datum den wochentag berechnen kann ?
danke im voraus ...
-
du mußt logischer weise ne funktion schreiben,die alle tage vom ursprung an unter berücksichtigung der schaltjahre und nicht-schaltjahre berechnet.....dann kommst du per modulodivision auf den zu einem datum gehörenden wochentag.....
ich hoffe das reicht dir...wenn nicht melde dich nochmal....
-
es gibt ne time funktion damit solltest du eigentlich auch den wochentag berechnen können. ich glaube du brauchst da keine komplzierte rechnung machen. guck mal den header time.h an
-
jep, time.h ist the answer images/smiles/icon_wink.gif
schau dir mal strftime oder struct tm an: http://www.dinkumware.com/htm_cl/time.html
-
Irgendwo aus den Untiefen des Internet:
dayofweek(int y, int m, int d) /* 0 = Sonntag */ /* 1 <= m <= 12, y > 1752 oder so */ { static int t[] = {0, 3, 2, 5, 0, 3, 5, 1, 4, 6, 2, 4}; y -= m < 3; return (y + y/4 - y/100 + y/400 + t[m-1] + d) % 7; }
-
mktime() isses. Funktioniert aber nur, wenn's zu dem Datum einen time_t gibt (also von 1970 bis 2038).
-
Warum so kompliziert ? time_t datum; struct tm *tmzgr; char woche[30]; datum = time(NULL); tmzgr = localtime(&datum); strftime(woche,30,"%A",tmzgr); printf("Der Wockentag fuer heute ist %s\n",woche);
strftime erwartet ein Formatzeichen.
z.B.%A: ausgeschriebener Wochentagsname
%a: abgekürzter Wochentzagsname
%b: abgekürzter Monatsname
%B: ausgeschriebener Monatsname
%c: Datum und Zeit ( Mon Apr 25 07:02:00)
%d: Monatstag (01-31)
%H: Stunde (00-23)
%I: Stunde (01-12)
%j: Tag des Jahres (001-365)
%m: Monat (01-12)
%p: AM oder PM
%S: Sekunden (00-61)
%U: Wochennummer (00-53; 1.Sonntag = 1. Tag der Woche)
%w: Wochentag (0-6; 0 = Sonntag)
%W: Wochennummer (00-53; 1.Montag = 1. Tag der Woche)
%x: Datumsdarstellung
%X: Zeitdarstellung
%y: Jahreszahl ohne Jahrhundert (00 - 99)
%Y: Jahreszahl mit Jahrhundert (2001)
%Z: Zeitzone (z.B. MET)
-
Shade Of Mine:
Bitte die FAQ !
Habe jetzt jedes mir bekannte Formatzeichen geschrieben.
Verweise dann auch bei Linux/Unix auf die FAQ.
Brauchen wir dann nicht 2 Mal machen.
Danke ganz lieb. images/smiles/icon_wink.gif images/smiles/icon_smile.gif