[不指定 2006/03/22 00:47 | by turbozv ]
http://stc.hkcampus.net/~stc-rs/myths/eastercal.htm?input=2006


掌心万年历在 V2.0 alpha#4之后修正了这个错误。


Y := 2006; {Y 代表年份。}
C := (Y DIV 100) + 1; {C(21) 代表世紀。}
G := (Y MOD 19) + 1;
{G(12) 代表 Y 在 Metonic Cycle 的 Golden Number。}
X := (3*C DIV 4) - 12; {X(3) 表示自從1582共放棄了多少個潤年。}
Z := ((8*C + 5) DIV 25) - 5;
{Z(1) 表示 Clavius 誤差,每 2500 年約有 8 天,又稱 Lunar Equation。}
D := ((5*Y) DIV 4) - X - 10;
{D(2494) 有助尋找三月的第一個星期日,方法是計算 ((-D) MOD 7)}
{2006年三月的第一個星期日在三月5日 }
E := (11*G+20+Z-X) MOD 30;
If (E=25)AND(G>11) then    E:=1+E;
If (E = 24) then E := 1+E;
{E(0): Epact 月亮在一月一日有多「老」,29.53 - E 便是下一個新月。}
N := 44 - E; {N(14) 三月的圓月就在這一天,(29.53-E)+15=44-E}
If (21 > N) then N := 30+N; {N(44)尋找春分之後的圓月}
S := (N+7) - ((D + N) MOD 7); {S(47) 移到下一個星期日}
If (S > 31) then 四月(S-31)日
  else 三月S日 ; {2006年四月16日}
程序 | 评论(0) | 引用(8) | 阅读(6238)