Techno-magis

Liste des jours fériés en France avec PHP

Monday 12th May 2014

Comme d'habitude ça part de l'idée de ne pas se prendre la tête et surtout ne rien avoir à faire par la suite pour gérer les jours fériés. Le seul problème c'est le lundi de Pâques, qui ne semble pas si simple à avoir. Heureusement, PHP dispose de la fonction easter_date() qui permet d'avoir le timestamp du dimanche de Pâques. Avec ça, ça devient infiniment plus simple :

CODE:

/**
 * Cette fonction retourne un tableau de timestamp correspondant
 * aux jours fériés en France pour une année donnée.
 * @param $year int L'année (si null prend d'année courante. Défaut : null)
 * @return array:int la liste timestamp des jours fériés
 */
function getFranceHolidays($year = null) {
	if ($year === null) {
		$year = intval(date('Y'));
	}
 
	// Dimanche de Pâques
	$easterDate  = easter_date($year);
	$easterDay   = date('j', $easterDate);
	$easterMonth = date('n', $easterDate);	
	$holidays = array(
		// Dates fixes
		mktime(0, 0, 0, 1,  1,  $year),  // 1er janvier
		mktime(0, 0, 0, 5,  1,  $year),  // Fête du travail
		mktime(0, 0, 0, 5,  8,  $year),  // Victoire des alliés
		mktime(0, 0, 0, 7,  14, $year),  // Fête nationale
		mktime(0, 0, 0, 8,  15, $year),  // Assomption
		mktime(0, 0, 0, 11, 1,  $year),  // Toussaint
		mktime(0, 0, 0, 11, 11, $year),  // Armistice
		mktime(0, 0, 0, 12, 25, $year),  // Noël
 
		// Dates variables
		mktime(0, 0, 0, $easterMonth, $easterDay + 1,  $year), // lundi de Pâques
		mktime(0, 0, 0, $easterMonth, $easterDay + 39, $year), // jeudi de l'Ascension
		mktime(0, 0, 0, $easterMonth, $easterDay + 50, $year), // lundi de Pentecôte
	);
	sort($holidays);
 
	return $holidays;
}

Categories:
By Zéfling, the 12/05/2014 at 20:20:20
The ticket was read 165 times, with 0 comment posted.

No comment

Write your below.

Write a commentary