1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85
| <?php
function calculPaques($annee)
{
if (function_exists ('easter_date'))
{
return easter_date($annee);
}
else
{
$H = (24 + 19 * ($annee % 19)) % 30;
$I = floor($H - $H / 28);
$J = ($annee + floor($annee / 4) + $I - 13) % 7;
$L = $I - $J;
$mois = floor(3 + ($L + 40) / 44);
$jour = $L + 28 - 31 * floor($mois / 4);
return $annee . '-' . $mois . '-' . $jour;
}
}
function fetes($annee)
{
$paques = calculPaques($annee);
//--- nb jours de décallage par rapport à Pâques -----------
$fetesMobiles = array(
'Septuagésime' => -63,
'Sexagésime' => -56,
'Quinquagésime' => -49,
'Mardi-Gras' => -47,
'Cendres' => -46,
'Quadragésime' => -42,
'Reminiscere' => -35,
'Oculi' => -28,
'Mi-Carême' => -24,
'Laetare' => -21,
'Passion' => -14,
'Rameaux' => -7,
'Vendredi Saint' => -2,
'Pâques' => 0,
'Lundi de Pâques' => 1,
'Quasimodo' => 7,
'Ascension' => 39,
'Pentecôte' => 49,
'Lundi de Pentecôte' => 50,
'Trinité' => 56,
'Fête Dieu' => 60
);
$ferie = array();
foreach ($fetesMobiles as $cle => $valeur)
{
$ferie[date('Y-m-d', strtotime($valeur . ' days', $paques))] = $cle;
}
$fetesFixes = array (
'jour de l\'an' => '-01-01',
'Fête du travail' => '-05-01',
'Victoire 39/45' => '-05-08',
'Fête Nationale' => '-07-14',
'Assomption' => '-08-15',
'Toussaint' => '-11-01',
'Armistice 14/18' => '-11-11',
'Noël' => '-12-25'
);
foreach ($fetesFixes as $cle => $valeur)
{
$ferie[$annee . $valeur] = $cle;
}
ksort($ferie);
return $ferie;
}
//--------------------------------------------------------------------------------
//--------------------------------------------------------------------------------
$annee = 2008;
$ferie = fetes($annee);
foreach ($ferie as $cle => $valeur)
{
$date = implode('/', array_reverse(explode('-', $cle)));
echo $valeur . ' => ' . $date . '<br>';
}
?> |
Partager