GetEasterSunday Routines |
Unit
QESBPCSDateTime
Overloaded Variants |
Function GetEasterSunday(const Year: Word): TDateTime; |
Function GetEasterSunday(const Year: Integer): TDateTime; |
Function GetEasterSunday(const DT: TDateTime): TDateTime; |
Declaration
Function GetEasterSunday(const Year: Word): TDateTime;
Parameters |
Year | the Year to be processed - should be 4 digit, eg 1999. |
DT | the Date to be processed. |
Category
Date/Time Arithmetic Routines
Year Based Arithmetic RoutinesImplementation
function GetEasterSunday (const Year: Word): TDateTime; var C, I, J, H, G, L: Integer; D, M: Word; begin G := GetGoldenNumber (Year) - 1; C := Year div 100; H := (C - C div 4 - (8 * C + 13) div 25 + 19 * G + 15) mod 30; I := H - (H div 28) * (1 - (H div 28) * (29 div (H + 1)) * ((21 - G) div 11)); J := (Year + Year div 4 + I + 2 - C + C div 4) mod 7; L := I - J; M := 3 + (L + 40) div 44; D := L + 28 - 31 * (M div 4); Result := OptEncodeDateW (Year, M, D); End; |
Declaration
Function GetEasterSunday(const Year: Integer): TDateTime;Implementation
function GetEasterSunday (const Year: Integer): TDateTime; var C, I, J, H, G, L: Integer; D, M: Integer; begin G := GetGoldenNumber (Year) - 1; C := Year div 100; H := (C - C div 4 - (8 * C + 13) div 25 + 19 * G + 15) mod 30; I := H - (H div 28) * (1 - (H div 28) * (29 div (H + 1)) * ((21 - G) div 11)); J := (Year + Year div 4 + I + 2 - C + C div 4) mod 7; L := I - J; M := 3 + (L + 40) div 44; D := L + 28 - 31 * (M div 4); Result := OptEncodeDateI (Year, M, D); End; |
Declaration
Function GetEasterSunday(const DT: TDateTime): TDateTime;Implementation
function GetEasterSunday (const DT: TDateTime): TDateTime; begin Result := GetEasterSunday (Date2Year (DT)); End; |
|