©
serviceprofessionalgmbh
The basis of all variable bank holidays is Easter Sunday. All other bank holidays have a fixed distance to Easter Sunday (except
Knabenschießen and Sechseläuten which are only known in Switzerland - we are happy to let you have the
calculation...). Easter itself is based on the first full moon in spring (the roots lie in pagan rites).
The calculated date will be returned in the format tt.mm.jjjj.
/* REXX
Eingabe: jjjj
Ausgabe: tt.mm.jjjj Datum des jeweiligen Ostersonntags
*/
arg jahr
A=JAHR // 19
B=JAHR // 4
C=JAHR // 7
D=((19*A+24)//30)
E=((2*B+4*C+6*D+5)//7)
F=22+D+E
IF F=57 THEN F=50
IF F=56 & D=28 & E=6 & A>10 THEN F=49
IF F<= 31 THEN MONAT="03"
ELSE DO
F=F-31
MONAT="04"
END
return RIGHT(F,2,'0')"."MONAT"."JAHR
back to Date & Time