<?php function calculate_easter($year) { $c = floor($year / 100); $n = $year - 19 * floor($year / 19); $k = floor(($c - 17) / 25); $i = $c - floor($c / 4) - floor(($c - $k) / 3) + 19 * $n + 15; $i = $i - 30 * floor($i / 30); $i = $i - floor($i / 28) * (1 - floor($i / 28) * floor(29 / ($i + 1)) * floor((21 - $n) / 11)); $j = $year + floor($year / 4) + $i + 2 - $c + floor($c / 4); $j = $j - 7 * floor($j / 7); $l = $i - $j; $month = 3 + floor(($l + 40) / 44); $day = $l + 28 - 31 * floor($month / 4); return array($month, $day); } list($month, $day) = calculate_easter(2005); echo "easter sunday in 2005 will be on " . date('jS F', mktime(0, 0, 0, $month, $day, 2005));
function CalculateHolidays($year) { $holidays[$year + 1 . "-01-01"][] = "New Year's Day"; $holidays["{$year}-01-01"][] = "New Year's Day"; $holidays[observed_day($year, 1, 1)][] = "New Year's Day (observed)"; $holidays[get_holiday($year, 1, 1, 3)][] = "Martin Luther King Day"; $holidays["{$year}-02-14"][] = "Valentine's Day"; $holidays[get_holiday($year, 2, 1, 3)][] = "President's Day"; $holidays["{$year}-03-17"][] = "St Patrick's Day"; $holidays[calculate_easter($year)][] = "Easter"; $holidays[get_holiday($year, 5, 1)][] = "Memorial Day (observed)"; $holidays["{$year}-07-04"][] = "Independence Day"; $holidays[observed_day($year, 7, 4)][] = "Independence Day (observed)"; $holidays["{$year}-08-04"][] = "Greg's Birthday"; $holidays[get_holiday($year, 9, 1, 1)][] = "Labor Day"; $holidays[get_holiday($year, 10, 1, 2)][] = "Columbus Day"; $holidays["{$year}-10-31"][] = "Halloween"; $holidays[get_holiday($year, 11, 4, 4)][] = "Thanksgiving"; $holidays["{$year}-12-24"][] = "Christmas Eve"; $holidays["{$year}-12-25"][] = "Christmas"; $holidays[observed_day($year, 12, 25)][] = "Christmas (observed)"; $holidays["{$year}-12-31"][] = "New Year's Eve"; //echo "<li>New Year's Day = ". format_date($year, 1, 1); //echo "<br>New Year's Day Observed = ". observed_day($year, 1, 1); //echo "<li>Martin Luther King Day Observed (Third Monday in January) = ". get_holiday($year, 1, 1, 3); //echo "<li>Valentine's Day = ". format_date($year, 2, 14); //echo "<li>President's Day Observed (Third Monday in February) = ". get_holiday($year, 2, 1, 3); //echo "<li>St. Patrick's Day = ". format_date($year, 3, 17); //echo "<li>Easter = ". calculate_easter($year); //echo "<li>Cinco De Mayo = ". format_date($year, 5, 5); //echo "<li>Memorial Day Observed (Last Monday in May) = ". get_holiday($year, 5, 1); //echo "<li>Independence Day = ". format_date($year, 7, 4); //echo "<br>Independence Day Observed = ". observed_day($year, 7, 4); //echo "<li>Labor Day Observed (First Monday in September) = ". get_holiday($year, 9, 1, 1); //echo "<li>Columbus Day Observed (Second Monday in October) = ". get_holiday($year, 10, 1, 2); //echo "<li>Halloween = ". format_date($year, 10, 31); // Veteran's Day Observed - November 11th ? //echo "<li>Thanksgiving (Fourth Thursday in November) = ". get_holiday($year, 11, 4, 4); //echo "<li>Christmas Day = ". format_date($year, 12, 25); return $holidays; }