Delphis
DayOfWeek und
DayOfTheWeek liefern ab 1.1.0001 bis 4.10.1582 den Wochentag im Julianischen
Kalender, ab 15.10.1582 bis 31.12.9999 den Wochentag des Gregorianischen Kalenders. Alternativ und
plattformunabhängig lassen sich die Wochentage beider Kalender nach folgenden Algorithmen von
Christian Zeller bestimmen.
Zu beachten ist, dass Januar und Februar als 13. und 14. Monat des Vorjahres zu betrachten sind.
Delphi-Quellcode:
//Zellersche Wochentagsformel für den Julianischen Kalender
//anwendbar für den Scaliger-Zeitraum 1.1.4713 v. Chr. bis
//22.1.3268 0 = Sa 1 = So usw.
//Wolfgang Mix - Delphi-PRAXiS
function dowjul(d,m,y:integer):integer;
var k,j:integer;
Begin
if m in[1,2] then
begin
y:=y-1;
m:=m+12;
end;
k:= y mod 100;// Die letzten beiden Ziffern der Jahreszahl
j:= y div 100;// Die ersten beiden Ziffern der Jahreszahl
result:=(d+((m+1)*26 div 10 +k+(k div 4)+5-j)) mod 7;
end;
Delphi-Quellcode:
//Zellersche Wochentagsformel für den Gregorianischen Kalender
// 0 = Sa 1 = So usw.
//Wolfgang Mix - Delphi-PRAXiS
function dowgregor(d,m,y:integer):integer;
var k,j:integer;
Begin
if m in[1,2] then
begin
y:=y-1;
m:=m+12;
end;
k:= y mod 100;// Die letzten beiden Ziffern der Jahreszahl
j:= y div 100;//Die ersten beiden Ziffern der Jahreszahl
result:=(d+((m+1)*26 div 10 +k+(k div 4)+ j div 4-2*j)) mod 7;
end;
Im gregorianischen Kalender lassen sich nach Vereinfachung mit Monatsmerkzahlen die Wochentage
auch einfach durch Kopfrechnung bestimmen. Besonders empfehlenwert dazu:
Dr. Dr. Mittrich - Rechnen mit dem Weltmeister S. 153 ff.
ISBN 9783-596-18989-2
Weitere Erläuterungen z.B. hier:
http://de.wikipedia.org/wiki/Zellers_Kongruenz