Calcular el día de Pascua
Artículo por Club Developers · 31 diciembre 2005
4063 vistas
El domingo de Pascua corresponde al primer domingo que sigue a la primera luna llena de primavera.
La función aquí expuesta calcula el día de Pascua para fechas entre 1583 y 4099.
delphi
function Pascua(Ano : Integer): TDateTime; var Y,G,C,X,Z,D,E,N,P,J,M: Integer; begin { Algoritmo válido para fechas entre 1583 y 4099} Y := Ano; G := (Y mod 19) + 1; C := Trunc((Y/100)) + 1; X := Trunc(3 * C / 4) - 12; Z := Trunc(((8 * C) + 5) / 25) - 5; D := Trunc(((5 * Y) / 4) - X - 10); E := ((11 * G)+ 20 + Z - X) mod 30; if ((E = 25) and (G > 11)) or (E = 24) then E := E + 1; N := 44 - E; if N <; 21 then N := N + 30; P := N + 7 - ((D + N) mod 7); if P > 31 then J := P - 31 else J := P; if J = P then M := 3 else M := 4; Result := EncodeDate(Ano, M, J); end;