Voila une petite fonction PHP permettant de définir si la date fournie en paramètre (au format timestamp) est un jour férié ou non.
Cette fonction retourne true si le jour est férié, false dans le cas contraire
?php
/**
* Cette fonction retourne un tableau de timestamp correspondant
* aux jours fériés en France pour une année donnée.
*/
function isNotWorkable($date)
{
if ($date === null)
{
$date = time();
}
$date = strtotime(date('m/d/Y',$date));
$year = date('Y',$date);
$easterDate = easter_date($year);
$easterDay = date('j', $easterDate);
$easterMonth = date('n', $easterDate);
$easterYear = date('Y', $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), // Noel
// Dates variables
mktime(0, 0, 0, $easterMonth, $easterDay + 1, $easterYear),
mktime(0, 0, 0, $easterMonth, $easterDay + 39, $easterYear),
mktime(0, 0, 0, $easterMonth, $easterDay + 50, $easterYear),
);
return in_array($date, $holidays);
}
?>
Petit exemple d’utilisation :
<?php
if(isNotWorkable(time())){
echo 'Nous sommes un jour férié !! Apéro !!';
}else{
echo 'Nous sommes un jour normal, au boulot :p';
}
?>
Sympa, je me garde ça sous le coude.
Pour les “$easterDay + 1”, “+39”, “+50” : ça corresponds à quelles occasions ? Ce sont les seuls que tu n’as pas précisé en commentaire.
Rhoalala on reconnais les athés ^^,
paques + 40 = ascension
paques + 50 = Pentecôte
(paques-1) + 1 = heuh, pâques ^^
“Athé”, tout de suite les grands mots.
J’ai juste jamais été fichu de me souvenir des dates ^^’
T’inquiète moi non plus, j’ai triché sur Wikipédia ^^, en plus je suis pastafariste et on a pas les mêmes jours sacrés :p
Salut !
Merci beaucoup, je pense que ça va me servir.
Toutefois, comment afficher quelque chose du genre “Nous sommes un jour férié ! c’est noël…”
Pâques n’est pas un jour férié, c’est un Dimanche et en tant que Dimanche, il est chômé. C’est le lundi de Pâque qui est férié.