.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 : Déterminer rapidement si un jour est férié (fêtes... */
/* */
/* URL : http://www.phpsources.org/scripts382-PHP.htm */
/* Auteur : Olravet */
/* Date édition : 05 Mai 2008 */
/* Website auteur : http://olravet.fr/ */
/* */
/******************************************************************************/
function jour_ferie($timestamp)
{
$jour = date("d", $timestamp);
$mois = date("m", $timestamp);
$annee = date("Y", $timestamp);
$EstFerie = ;
// dates fériées fixes
if($jour == 1 && $mois == 1) $EstFerie = 1; // 1er janvier
if($jour == 1 && $mois == 5) $EstFerie = 1; // 1er mai
if($jour == 8 && $mois == 5) $EstFerie = 1; // 8 mai
if($jour == 14 && $mois == 7) $EstFerie = 1; // 14 juillet
if($jour == 15 && $mois == 8) $EstFerie = 1; // 15 aout
if($jour == 1 && $mois == 11) $EstFerie = 1; // 1 novembre
if($jour == 11 && $mois == 11) $EstFerie = 1; // 11 novembre
if($jour == 25 && $mois == 12) $EstFerie = 1; // 25 décembre
// fetes religieuses mobiles
$pak = easter_date($annee);
$jp = date("d", $pak);
$mp = date("m", $pak);
if($jp == $jour && $mp == $mois){ $EstFerie = 1;} // Pâques
$lpk = mktime(date("H", $pak), date("i", $pak), date("s", $pak), date("m", $pak)
, date("d", $pak) +1, date("Y", $pak) );
$jp = date("d", $lpk);
$mp = date("m", $lpk);
if($jp == $jour && $mp == $mois){ $EstFerie = 1; }// Lundi de Pâques
$asc = mktime(date("H", $pak), date("i", $pak), date("s", $pak), date("m", $pak)
, date("d", $pak) + 39, date("Y", $pak) );
$jp = date("d", $asc);
$mp = date("m", $asc);
if($jp == $jour && $mp == $mois){ $EstFerie = 1;}//ascension
$pe = mktime(date("H", $pak), date("i", $pak), date("s", $pak), date("m", $pak),
date("d", $pak) + 49, date("Y", $pak) );
$jp = date("d", $pe);
$mp = date("m", $pe);
if($jp == $jour && $mp == $mois) {$EstFerie = 1;}// Pentecôte
$lp = mktime(date("H", $asc), date("i", $pak), date("s", $pak), date("m", $pak),
date("d", $pak) + 50, date("Y", $pak) );
$jp = date("d", $lp);
$mp = date("m", $lp);
if($jp == $jour && $mp == $mois) {$EstFerie = 1;}// lundi Pentecôte
// Samedis et dimanches
$jour_sem = jddayofweek(unixtojd($timestamp), );
if($jour_sem == || $jour_sem == 6) $EstFerie = 1;
// ces deux lignes au dessus sont à retirer si vous ne désirez pas faire
// apparaitre les
// samedis et dimanches comme fériés.
return $EstFerie;
}
echo jour_ferie(mktime(,,,12,25,2008));
//sortira 1 car la date indiquée est fériée (25/12/2008).
//les jours ouvrables donneront 0.
?>
|