Mega Code Archive

 
Categories / Php / Date Time
 

Calculation of easterday and the holydays depended of easterday

<?php /* goldnum: The Golden Number */ /* epact: Paschal Full Moon */ function easterday ($year) { $goldnum = (int) ($year%19) + 1; $century = (int) $year/100 + 1; $greg_corr = (int) (3*$century)/4 - 12; $clav_corr = (int) ($century - 16 - ($century-18)/25)/3; $extra = (int) (5*$year)/4 - $greg_corr - 10; $epact = (int) (11*$goldnum + 20 + $clav_corr - $greg_corr)%30; if ($epact <= 0 ) $epact = $epact + 30; if (($epact == 24 || $epact == 25) && $goldnum > 11) $epact = $epact + 1; $day = 44 - $epact; if ($day < 21) $day = $day + 30; $day = $day + 7 - (($extra+$day)%7); $month = 3; if ($day > 31) { $month = 4; $day = $day - 31; } return mktime(8,0,0,$month,$day,$year); } $seconds_pr_day = 86400; for ($i=1990; $i<=2010; $i++) { $easter = easterday($i); echo "Easterday: "; echo date("Y-m-d", $easter); echo " - Pentecost: "; echo date("Y-m-d", $easter + (49*$seconds_pr_day)); echo "\n"; } ?>