© 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