Beispiel #1
0
<?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));
Beispiel #2
0
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;
}