Пасха
- From
- Yuri Gurin (2:467/116.48)
- To
- Sergei Frolov ()
- Date
- 2003-03-13T23:43:58Z
- Area
- RU.ALGORITHMS
Как-то Sergei /_*Frolov*_/ писал к /_*ALL*_/:
SF> Нет ли у кого формулы для вычисления даты начала пасхи? (конкретно
SF> - православной)
SF>
SF> Sergei Frolov
Данный алгоритм был опубликован в электронном издании "Советы по Delphi" Валентина Озерова.
/*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 /*then*/
/*begin*/
/*If*/ ShortDateFormat[1]='d' /*then*/
Result:=IntToStr(Q)+'/3/'+IntToStr(Year)
/*else*/
Result:='3/'+IntToStr(Q)+'/'+IntToStr(Year);
/*end*/
/*else*/
/*begin*/
/*If*/ ShortDateFormat[1]='d' /*then*/
Result:=IntToStr(Q-31)+'/4/'+IntToStr(Year)
/*else*/
Result:='4/'+IntToStr(Q-31)+'/'+IntToStr(Year);
/*end*/;
{Вычисление страстной пятницы}
/*If*/ Q<32 /*then*/
/*begin*/
/*If*/ ShortDateFormat[1]='d' /*then*/ GF:=IntToStr(Q-2)+'/3/'+IntToStr(Year)
/*else*/
GF:='3/'+IntToStr(Q-2)+'/'+IntToStr(Year);
/*end*/
/*else*/
/*begin*/
/*If*/ ShortDateFormat[1]='d' /*then*/
GF:=IntToStr(Q-31-2)+'/4/'+IntToStr(Year)
/*else*/
GF:='4/'+IntToStr(Q-31-2)+'/'+IntToStr(Year);
/*end*/;
/*end*/;
*WBR, Gurin Y.*
--- GoldEd 3.00.Beta5+ & Fido Master 2000
* Origin: I am live... somewhere in time! (2:467/116.48)