function TtheCalendar.CalcEaster: string;
var
B, D, E, Q: Integer;
GF: string;
begin
B := 225 - 11 * (Year mod 19);
D := ((B - 21) mod 30) + 21;
if D > 48 then
Dec(D);
E := (Year + (Year div 4) + D + 1) mod 7;
Q := D + 7 - E;
if Q < 32 thenbeginif ShortDateFormat[1] = 'd' then
Result := IntToStr(Q) + '/3/' + IntToStr(Year)
else
Result := '3/' + IntToStr(Q) + '/' + IntToStr(Year);
endelsebeginif ShortDateFormat[1] = 'd' then
Result := IntToStr(Q - 31) + '/4/' + IntToStr(Year)
else
Result := '4/' + IntToStr(Q - 31) + '/' + IntToStr(Year);
end;
{вычисление страстной пятницы}if Q < 32 thenbeginif ShortDateFormat[1] = 'd' then
GF := IntToStr(Q - 2) + '/3/' + IntToStr(Year)
else
GF := '3/' + IntToStr(Q - 2) + '/' + IntToStr(Year);
endelsebeginif ShortDateFormat[1] = 'd' then
GF := IntToStr(Q - 31 - 2) + '/4/' + IntToStr(Year)
else
GF := '4/' + IntToStr(Q - 31 - 2) + '/' + IntToStr(Year);
end;
end;
Рассмотрено вычисление даты Пасхи с использованием алгоритма, который учитывает годовой цикл и календарный день.
Комментарии и вопросы
Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.