calendrier-jours-feries.php

<!--    $Id: script-nexen.php,v 1.4 2002/11/28 19:45:12 didou Exp $    -->
<!--	script-nexen.php,v 1.5 2001/05/30 13:02:01 pierre Exp	-->
<!--    $Id: db.inc,v 1.24 2003/09/15 12:34:06 dams Exp $    -->
<!--	db.inc,v 1.238 2001/05/30 15:43:51 pierre Exp	-->
<!--	$Id: connectlib.php,v 1.1 2001/11/20 09:04:45 sam Exp $	-->

<?php
/*
 *
 *
 * Avertissement : Cette librairie de fonctions PHP est distribuee avec l'espoir 
 * qu'elle sera utile, mais elle l'est SANS AUCUNE GARANTIE; sans meme la garantie de 
 * COMMERCIALISATION ou d'UTILITE POUR UN BUT QUELCONQUE.
 * Elle est librement redistribuable tant que la presente licence, ainsi que les credits des 
 * auteurs respectifs de chaque fonctions sont laisses ensembles. 
 * En aucun cas, Nexen.net ne pourra etre tenu responsable de quelques consequences que ce soit
 * de l'utilisation ou la mesutilisation de ces fonctions PHP.

*/

/****
 * Titre : Liste des jours fériés 
 * Auteur : Damien Seguy 
 * Email : damien.seguy@nexen.net
 * Url : www.nexen.net
 * Description : Fait la liste des jours fériés dans un ou plusieurs mois.
 Utilise le calendrier Francais.
****/
function ferie($mois,$an){
// pour avoir tous les jours feries de l'annee,
// passez un tableau de mois (ferie(range(1,12), $an);
// pour les avoir sur plusieurs annees
// ferie(range(1,24), $an); ferie(range(36,12), $an);
if (is_array($mois)){
	$retour = array();
	foreach ($mois as $m) {
			$r = ferie($m, $an);
			$retour[$m] = ferie($m, $an);
	}
	return $retour;
}

// calcul des jours feries pour un seul mois.
if (mktime(0,0,0,$mois, 1,$an) == -1) { return FALSE;}
list($mois, $an) = explode("-", date("m-Y", mktime(0,0,0,$mois, 1, $an)));
$an = intval($an);
$mois = intval($mois);

// une constante
$jour = 3600*24;

// quelques fetes mobiles
$lundi_de_paques['mois'] = date( "n", easter_date($an)+1*$jour);
$lundi_de_paques['jour'] = date( "j", easter_date($an)+1*$jour);
$lundi_de_paques['nom']  = "Lundi de P&acirc;ques";

$ascencion['mois'] = date( "n", easter_date($an)+39*$jour);
$ascencion['jour'] = date( "j", easter_date($an)+39*$jour);
$ascencion['nom']  = "Jeudi de l'ascenscion";

$vendredi_saint['mois'] = date( "n", easter_date($an)-2*$jour);
$vendredi_saint['jour'] = date( "j", easter_date($an)-2*$jour);
$vendredi_saint['nom']  = "Vendredi Saint";

$lundi_de_pentecote['mois'] = date( "n", easter_date($an)+50*$jour);
$lundi_de_pentecote['jour'] = date( "j", easter_date($an)+50*$jour);
$lundi_de_pentecote['nom']  = "Lundi de Pentec&ocirc;te";

// France
	$ferie["Jour de l'an"][1]   = 1;
	$ferie["Armistice 39-45 "][5]   = 8;
	$ferie["Toussaint"][11] = 1;
	$ferie["Armistice 14-18"][11] = 11;
	$ferie["Assomption"][8]  =15;
	$ferie["F&ecirc;te du travail "][5]  =1;
	$ferie["F&ecirc;te nationale"][7]  =14;
	$ferie["No&euml;l"][12] = 25;
	$ferie["Lendemain de No&euml;l (Alsace seulement)"][12]	= 25;
	$ferie[$lundi_de_paques['nom']][$lundi_de_paques['mois']] = $lundi_de_paques['jour'];
	$ferie[$lundi_de_pentecote['nom']][$lundi_de_pentecote['mois']] = $lundi_de_pentecote['jour'];
	$ferie[$ascencion['nom']][$ascencion['mois']] = $ascencion['jour'];
	$ferie[$vendredi_saint['nom']." (Alsace)"][$vendredi_saint['mois']]= $vendredi_saint['jour'];

// reponse
	$reponse = array();
	while(list($nom, $date)= each($ferie)){
		if (isset($date[$mois])){
			// une fete a date calculable
			$reponse[$date[$mois]]=$nom;
		} 
	}
	ksort($reponse);
	return $reponse;
}

echo ferie($mois,$an);
?>
 
info/calendrier-jours-feries.txt · Dernière modification: 2008/11/11 11:37 (modification externe)
 
Recent changes RSS feed Creative Commons License Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki