Visiteur non identifié. Spherick
« L’homme saccage sa planète et mène une guerre contre la nature, s’il la gagne, il est perdu ! Nous sommes au bord de la sixième extinction et cette fois l’Homme en est le responsable mais aussi la victime. La vie continuera sur Terre, mais sans nous ! »H. Reeves, 15/01/12, Loos
Jan
Fév
Mar
Avr
Mai
Jui
Jui
Aou
Sep
Oct
Nov
Déc
Accueil > Blog Eric > Hobbies > Informatique > PHP : Jours fériés

Public  PHP : Jours fériés

Quelques fonctions de calcul des jours fériés

lundi 11 décembre 2006, lu 964 fois

        // ****************************************
        // Celle-là, je sais pas comment elle marche
        // mais elle marche...
        Function DimanchePaques($Annee)
        {
                $Y = $Annee;
                $G = ($Y % 19) + 1;
                $C = intval(($Y/100)) + 1;
                $X = intval(3 * $C / 4) - 12;
                $Z = intval(((8 * $C) + 5) / 25) - 5;
                $D = intval(((5 * $Y) / 4) - $X - 10);
                $E = ((11 * $G) + 20 + $Z - $X) % 30;
                if ((($E == 25) and ($G > 11)) or ($E == 24))
                {
                        $E++;
                }
                $N = 44 - $E;
                if ($N <= 21)
                {
                        $N = $N + 30;
                }
                $P = $N + 7 - (($D + $N) % 7);
               
                if ($P > 31)
                        $Jour = $P - 31;
                else
                        $Jour = $P;
               
                if ($J == $P)
                        $Mois = 3;
                else
                        $Mois = 4;
       
                //echo "Le dimanche de Pâques $Annee tombe le $Jour/$Mois<br>";
                Return mktime (0, 0, 0, $Mois, $Jour, $Annee) ;
        }
       
        // ****************************************
        Function LundiPaques($Annee)
        {
                $DimanchePaques = DimanchePaques($Annee) ;
       
                $LundiPaques = mktime(0, 0, 0, intval(date("m", $DimanchePaques)), intval(date("d", $DimanchePaques))+1, intval(date("Y", $DimanchePaques))) ;
                Return $LundiPaques ;
        }
       
        // ****************************************
        // Bon, c'est un peu bourrin, mais ça marche !
        Function EstJourFerieFR($Date)
        {
       
                $Mois                = intval(date("m", $Date));
                $Jour                = intval(date("d", $Date));
                $Annee                = intval(date("Y", $Date));
       
                $Jourdelan        = mktime(0,0,0,1,1,$Annee);
                $LundiPaques        = LundiPaques($Annee);
                $FeteTravail        = mktime(0,0,0,5,1,$Annee);
                $Victoire45        = mktime(0,0,0,5,8,$Annee);
                $Ascension        = mktime(0,0,0, intval(date("m", $LundiPaques)), intval(date("d", $LundiPaques))+38, intval(date("Y", $LundiPaques))) ;
                $LundiPentecote        = mktime(0,0,0, intval(date("m", $LundiPaques)), intval(date("d", $LundiPaques))+49, intval(date("Y", $LundiPaques))) ;
                $FeteNationale        = mktime(0,0,0,7,14,$Annee);
                $Assomption        = mktime(0,0,0,8,15,$Annee);
                $Toussaint        = mktime(0,0,0,11,1,$Annee);
                $Armistice18        = mktime(0,0,0,11,11,$Annee);
                $Noel                = mktime(0,0,0,12,25,$Annee);
       
                $Result = "";
               
                If ($Date == $Jourdelan)        $Result = "Nouvel An" ;
                If ($Date == $LundiPaques)        $Result = "Pâques" ;
                If ($Date == $FeteTravail)        $Result = "F. Travail" ;
                If ($Date == $Victoire45)        $Result = "Vict. 45" ;
                If ($Date == $Ascension)        $Result = "Ascension" ;
                If ($Date == $LundiPentecote)        $Result = "Pentecôte" ;
                If ($Date == $FeteNationale)        $Result = "Fête Nat." ;
                If ($Date == $Assomption)        $Result = "Assomption" ;
                If ($Date == $Toussaint)        $Result = "Toussaint" ;
                If ($Date == $Armistice18)        $Result = "Armis. 18" ;
                If ($Date == $Noel)                $Result = "Noël" ;
               
                Return $Result ;
        }
Vous pouvez noter cet article, lu 964 fois
0 vote


Qui êtes-vous ?
Votre message

Ce formulaire accepte les raccourcis SPIP [->url] {{gras}} {italique} <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.