Kommentar: Einfügen von HTML im Kommentar: Link einfügen: <a href="LINKURL" target="_blank">LINKTITEL</a> Bild einfügen: <img src="BILDURL"> Text formatieren: <b>fetter Text</b> <i>kursiver Text</i> <u>unterstrichener Text</u> Kombinationen sind auch möglich z.B.: <b><i>fetter & kursiver Text</i></b> C Quellcode formatieren: <code>Quellcode</code> BASIC Quellcode formatieren: <basic>Quellcode</basic> (Innerhalb eines Quellcodeabschnitts ist kein html möglich.) Wichtig: Bitte mache Zeilenumbrüche, bevor Du am rechten Rand des Eingabefeldes ankommst ! -> I > Moin, > > da ich auf die Schnelle hier nichts gefunden habe, > habe ich mir die Berechnung des Wochtages fix selber gebastelt. > > Ist eine vereinfachte Formel der Gausschen Wochentagsberechnung. > Funktioniert von 2001 bis 2099 (Hunde wollt ihr ewig leben? ;-) ) > Funktioniert wegen der FLOOR Funktion nur auf dem 128er. > > In der Funktion wird das aktuelle Datum eingelesen und als Rückgabe > gibt es INT-Zahlen von 0 bis 6 (Sonntag bis Samstag) > > Ciao, Francesco > > ------------------------------------------------------------------------------------- > > int get_weekday (void) > // berechnung Wochentag mit vereinfachter Gausscher Wochentagberechnung > // Formel funktionert von 2001 bis 2099 (sollte eigentlich reichen) > // weitere Infos bei wikipedia: > // http://de.wikipedia.org/wiki/Gaußsche_Wochentagsformel > { > byte tag; byte mon; byte jah; int wot ; //Variablen > int zr1 ; int zr2 ; int zr3 ; > > tag= Clock_GetVal(3)+1 ; > mon= Clock_GetVal(4)+1 ; > jah= Clock_GetVal(5) ; > > switch (mon) > { > // in zr1 ist die zwischenrechnung (2.6 x Monat - 0,2 abgerundet) > // für Jan und Feb wird gemäß Gauß ein Jahr abgezogen > case 1: zr1 = 28 ; jah-- ; > break ; > case 2: zr1 = 31 ; jah-- ; > break ; > case 3: zr1 = 2 ; > break ; > case 4: zr1 = 5 ; > break ; > case 5: zr1 = 7 ; > break ; > case 6: zr1 = 10 ; > break ; > case 7: zr1 = 12 ; > break ; > case 8: zr1 = 15 ; > break ; > case 9: zr1 = 18 ; > break ; > case 10: zr1 = 20 ; > break ; > case 11: zr1 = 23 ; > break ; > case 12: zr1 = 25 ; > break ; > } > > zr3 = floor (jah/4); //Zwischenrechnung > zr2 = tag + zr1 +jah + zr3 ; //vereinfachte Gaussche Formel > wot = zr2% 7 ; //Modulo auf 7 > return wot ; //Rückgabe Wochentag 0 bis 6 (Sonntag = 0) > } >