Quel sont les jours fériés en France

  Information

Fonctions permettant de :

  • calculer la date de la Pâques chrétienne pour une année donnée
  • calculer tous les jours fériés en France pour une année donnée
  • déterminer si un jour est férié ou non
  code source classé dans  Dates - Heures

 
 01    
 02    
 03    
 04    
 05    
 06    
 07    
 08    
 09    
 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    
                               
<?php
/*---------------------------------------------------------------*/
/*
    Titre : Quel sont les jours fériés en France                                                                        
                                                                                                                          
    URL   : https://phpsources.net/code_s.php?id=641
    Auteur           : developpeurweb                                                                                     
    Website auteur   : http://rodic.fr                                                                                    
    Date édition     : 02 Mai 2011                                                                                        
    Date mise à jour : 13 Aout 2019                                                                                      
    Rapport de la maj:                                                                                                    
    - fonctionnement du code vérifié                                                                                    
    - amélioration du code                                                                                               
*/
/*---------------------------------------------------------------*/

      function dimanche_paques($annee)
    {
        return date("Y-m-d"easter_date($annee));
    }
    function vendredi_saint($annee)
    {
        $dimanche_paques dimanche_paques($annee);
        return date("Y-m-d"strtotime("$dimanche_paques -2 day"));
    }
    function lundi_paques($annee)
    {
        $dimanche_paques dimanche_paques($annee);
        return date("Y-m-d"strtotime("$dimanche_paques +1 day"));
    }
    function jeudi_ascension($annee)
    {
        $dimanche_paques dimanche_paques($annee);
        return date("Y-m-d"strtotime("$dimanche_paques +39 day"));
    }
    function lundi_pentecote($annee)
    {
        $dimanche_paques dimanche_paques($annee);
        return date("Y-m-d"strtotime("$dimanche_paques +50 day"));
    }
    
    
    function jours_feries($annee$alsacemoselle=false)
    {
        $jours_feries array
        (    dimanche_paques($annee)
        ,    lundi_paques($annee)
        ,    jeudi_ascension($annee)
        ,    lundi_pentecote($annee)
        
        ,    "$annee-01-01"        //    Nouvel an
        ,    "$annee-05-01"        //    Fête du travail
        ,    "$annee-05-08"        //    Armistice 1945
        ,    "$annee-05-15"        //    Assomption
        ,    "$annee-07-14"        //    Fête nationale
        ,    "$annee-11-11"        //    Armistice 1918
        ,    "$annee-11-01"        //    Toussaint
        ,    "$annee-12-25"        //    Noël
        );
        if($alsacemoselle)
        {
            $jours_feries[] = "$annee-12-26";
            $jours_feries[] = vendredi_saint($annee);
        }
        sort($jours_feries);
        return $jours_feries;
    }
    function est_ferie($jour$alsacemoselle=false)
    {
        $jour date("Y-m-d"strtotime($jour));
        $annee substr($jour04);
        return in_array($jourjours_feries($annee$alsacemoselle));
    }
?>

Exemple :

 
 01    
 02    
 03    
 04    
 05    
 06    
 07    
 08    
 09    
 10    
 11    
 12    
 13    
 14    
 15    
 16    
 17    
 18    
 19    
 20    
 21    
 22    
 23    
 24    
 25    
 26    
                                
<?php
    $out jours_feries(2020); ?>

     <pre>
    <?php print_r $out ?>
     </pre>

    Affiche :

     Array
    (
    [0] => 2020-01-01
    [1] => 2020-04-11
    [2] => 2020-04-12
    [3] => 2020-05-01
    [4] => 2020-05-08
    [5] => 2020-05-15
    [6] => 2020-05-20
    [7] => 2020-05-31
    [8] => 2020-07-14
    [9] => 2020-11-01
    [10] => 2020-11-11
    [11] => 2020-12-25
    )

          Fonctions du code - Doc officielle PHP

   php.net   Description Versions PHP OUTIL
   array Crée un tableau PHP 4, PHP 5, PHP 7, PHP 8
   date Formate une date/heure locale PHP 4, PHP 5, PHP 7, PHP 8
   easter_date Retourne un timestamp UNIX pour Pâques, à minuit pour une année donnée PHP 4, PHP 5, PHP 7, PHP 8
   in_array Indique si une valeur appartient à un tableau PHP 4, PHP 5, PHP 7, PHP 8
   print_r Affiche des informations lisibles pour une variable PHP 4, PHP 5, PHP 7, PHP 8
   return Retourne le controle du programme au module appelant. PHP 4, PHP 5, PHP 7, PHP 8
   sort Trie un tableau PHP 4, PHP 5, PHP 7, PHP 8
   strtotime Transforme un texte anglais en timestamp PHP 4, PHP 5, PHP 7, PHP 8
   substr Retourne un segment de chaîne PHP 4, PHP 5, PHP 7, PHP 8

   Dites merci aux auteurs pour leurs travail, ça ne coûte rien et ça fait toujours plaisir wink

[13]

  • avatar

    Invité

    19 Avril 2023 à 17:04

    Merci pour ce code bien utile !

  • avatar

    Invité

    11 Nov 2020 à 17:45

    L'assomption c'est le 15/08 et non pas le 15/05  ;-)

  • avatar

    Invité

    17 Juin 2020 à 16:42

    Autant pour moi, c'est l'exemple décrit qui est incorrect : en lançant le code, ça fonctionne bien. Merci

  • avatar

    Invité

    17 Juin 2020 à 16:33

    Bonjour,   Sauf erreur de ma part, le lundi de pentecôte, comme son nom l'indique, est un lundi, et non un dimanche :-) (ici le 31/05/2020).   En tout cas, merci pour le code, cela donne au moins la piste de calcul.

  • avatar

    Invité

    27 Aout 2019 à 15:12

    Le 15 mai est jour férié ???? :D on se relis avant de lettre en ligne ;)  

  • avatar

    Invité

    29 Déc 2011 à 16:25

     Merci pour le code.
    Par contre, l'assomption est en aout, pas en mai.

  • avatar

    Developpeurweb

    10 Mai 2011 à 15:54

    La fonction jour_ferie() n'est pas définie dans le code ci-dessus. Quant à elle, la fonction jours_feries() prend en premier paramètre l'année (le nom de la variable correspondante étant $annee). Elle retourne la liste des jours fériés pour l'année concernée, sous forme d'un array(). Pour savoir si une date donnée est ou non un jour férié, il faut utiliser la fonction est_ferie(), dont le premier paramètre $jour est le jour dont on cherche à déterminer s'il est férié ou non. Les noms de fonctions et de variables sont rarement choisis au hasard.

  • avatar

    Invité

    10 Mai 2011 à 12:05

    Bonjour je viens d'utiliser la fonction jour_ferie mais elle ne retourne rien si je lui donne des paramétres avec comme année  une année supérieure a 2009 exple :jour_ferie(mktime(0,0,0,05,15,2011) ) 

  • avatar

    Developpeurweb

    06 Mai 2011 à 20:11

     Cool ! Tiens-nous au courant

  • avatar

    Seanron

    06 Mai 2011 à 14:49

    Ces deux scripts sont bien utile. Merci pour les releases. Celui de webdeveloppeur pour sortir des dates fériées ( pour un calendrier c'est top )
    celui de Koogar pour compter des jours fériés dans un délai donné par exemple. J'enrichirai très prochainement ce script de ma fonction en cours de developpement, optimisée pour timestamp afin d'avoir une précision horaire. Afin de calculer le nombre d'heures de réalisation d'un projet sur des délais en jours ouvrés. A bientot.

  • avatar

    KOogar

    02 Mai 2011 à 12:36

    le but de mon intervention etait de montrer l'utilité de la fonction easter-date
    le problème de cette fonction est qu'elle n'est pas active sur tous les serveurs, (a ta place j'aurais laisser le bout de code qui la remplacait, ca peut-etre utile pour certains développeurs) dans le cas ou elle n'est pas active, pour l'activer il faut ajouter le module calendar dans les extensions actives

    Pour ce qui est de faire un calendrier il est clair que tes fonctions sont parfaites.  

  • avatar

    Developpeurweb

    02 Mai 2011 à 11:48

    Oui, c'est ce que l'on appelle les fonctions... Maintenant, essaie de comparer la longueur du code entre { }. Sachant que ton code offre beaucoup moins de fonctionnalités. Et l'Alsace ? Et la Moselle ? Maintenant j'avoue que la fonction easter_date() m'a bien aidé, merci pour ça ^^ (code corrigé). Personnellement, j'ai autant besoin de vérifier qu'une date soit fériée ou non que de récupérer la liste des jours fériés d'une année (exemple : génération d'un calendrier).

  • avatar

    KOogar

    02 Mai 2011 à 11:41

    heing ? en nbre de ligne jen ai 48 et le tien le double... En générale quelque soit le dév l'interet est de vérifier si une date est férié ou non, apres on peut toujours lister avec une chti routine mais ca n'a pas vraiment d'interet en dév


 Autres snippets qui pourraient vous intéressez

Colorer n'importe quel langage avec Geshi

Compatibilité : PHP 5, PHP 7

2019 (maj) Colorer n'importe quel langage avec Geshi avec une base de 150 langages: PHP, HTML, C++... Codes exemples fournis.

Savoir si plusieurs Nom de Domaines sont réservés

Compatibilité : PHP 5, PHP 7

Fonction fiable permettant d'effectuer une recherche de disponibilité d'un nom de domaine auprès des serveurs whois.

Savoir si vos liens externes existent toujours

Compatibilité : PHP 5, PHP 7

Avoir des liens externes est important pour faire connaitre son site. Vérifier si vos BLs sont toujours en place.

Calcul si deux nombres sont premiers entre eux

Compatibilité : PHP 5, PHP 7

Détermine si deux nombres sont premiers entre eux. 2 nombres entiers sont premiers entre eux si leur PGCD vaut 1

Affiche les jours du mois

Compatibilité : PHP 5, PHP 7

Explication du code : Affiche les jours du mois dans un tableau.

Présentation de PHP

PHP débutant et initié 50 Tutoriel

Présentation de MySQL

avatar

Developpeurweb

  02 Mai 2011

  SOURCE   Télécharger

Information sur les mises à jour

Dernière mise à jour :

    13 Aout 2019
    fonctionnement du code vérifié
    amélioration du code

15 743 Vues
Compatibilité
PHP 5, 7 et 8+
avatar
50 codes

Catégorie :  Dates - Heures

Addition de mois à une date
Affiche date et heure dynamiquement
Affiche la date dans une autre langue
Affiche la date de mise à jour d'1 page ou 1 script
Affiche la date du jour en Français
Affiche la date littérale en Français
Affiche le numéro de semaine ISO pour Windows
Affiche les dates du mois - Calendrier mensuel
Affiche les jours du mois
Affiche ligne par ligne les dates comprises entre 2 dates
Affiche une date avec le nom du jour et du mois
Ajoute ou soustrait des jours à une date
Calcul et affiche le lever et coucher du soleil
Calcul et trouve la date d'hier
Calcul l'age à partir de l'année
Calcul l'age à partir d'une date de naissance
Calcul la date de Paque à partir d'une année
Calcul la différence de jour entre 2 dates
Calcul la différence de temps du passé au présent
Calcul la différence entre 2 heures
Calcul le nombre de jours écoulés depuis l'an zéro
Calcul le nombre de jours non-ouvrés entre 2 dates
Calcul le nombre de jours ouvrés entre 2 dates
Calcul le temps restant ou le temps écoulé
Change de format de date us <=> fr
Classement de dates dans 1 fichier
Compte à  rebours du nouvel an
Compte le nombre de jour à partir d'une date
Convertie de secondes en heures, minutes et secondes
Convertie une date MySQL format US au format FR
Date du jour en français de manière littérale
Détermine rapidement si un jour est férié (fetes mobiles incluses)
Formulaire de date en HTML
Fractionne un créneau horaire entre l'heure de début et celle de fin
Indique si une année est bissextile ou pas
Injecte une Date SQL dans un tableau PHP
Lettres dominicales & Epacte julienne
Nombre de jours dans 1 mois
Obtient date + heure ( DATETIME ) au format littérale
Obtient la saison actuelle dans les 2 hémisphères
Quel sont les jours fériés en France
Retourne d'une date littérale la date exacte
Retourne le numéro de semaine passée en paramètre
Transforme une date dans un format littéraire et sympa
Trouve la date du prochain jour
Trouve les dates début et fin de semaine
Trouve si l'année est bissextile
Une autre utilisation de la fonction microtime ()
Vérifie la validité et l'existence d'une date
Vérifie si une date correspond au jour choisi