php tableau des dates de jours non fériés - PHP - Programmation
Marsh Posté le 19-08-2008 à 10:41:44
Tu veux aussi enlever les samedis/dimanches ?
Pour les jours fériés, pas d'autre choix que de les rentrer à la main.
Marsh Posté le 19-08-2008 à 13:40:56
http://forum.hardware.fr/hfr/Progr [...] 4880_1.htm
http://www.phpcs.com/codes/CALCULE [...] 38707.aspx
Marsh Posté le 19-08-2008 à 15:12:11
Merci rengzehn j'ai trouvé le code très interressant, toutefois j'ai voulu l'adapter à ma fonction qui retourne un tableau de dates en ne testant qu'avec les samedi et dimanche mais j'ai un problème d'execution d'une ligne de code : il dit que ça prend plus de trente secondes pour s'executer.
cette ligne la $timestamp = mktime(0, 0, 0, $mois, $jour+$j, $an);
voila ce que j'ai fait
function jour_ferie($timestampStart, $timestampEnd, $nb)
{
$jour = date("d", $timestampStart);
$mois = date("m", $timestampStart);
$an = date("Y", $timestampStart);
$nbFerie = 0;
$nbFerie2 = 0;
$temp = array();
while ($timestampStart <= $timestampEnd)
{
$jour_julien = unixtojd($timestampStart);
$jour_semaine = jddayofweek($jour_julien, 0);
if($jour_semaine != 0 || $jour_semaine != 6)
{
for($j=0;$j<=$nb;$j++){
$timestamp = mktime(0, 0, 0, $mois, $jour+$j, $an);
$temp[$j] = date("Y-m-d", $timestamp);}
} }
return $temp;
}
Marsh Posté le 19-08-2008 à 17:41:18
Bonjour,
J'ai reformulé mon code mais je n'arrive tjs pas à virer les samedis et dimanches.
Pleaze si vous avez des idées à me donner , merci bcp!
function diff_date($jour , $mois , $an , $jour2 , $mois2 , $an2){
$timestamp2 = mktime(0, 0, 0, $mois, $jour, $an);
$timestamp = mktime(0, 0, 0, $mois2, $jour2, $an2);
$diff = floor(($timestamp - $timestamp2) / (3600 * 24));
return $diff;
}
function jour_ferie($jour, $mois, $an, $jour2, $mois2, $an2, $nb)
{
$timestampStart= mktime(0, 0, 0, $mois, $jour, $an);
$timestampEnd = mktime(0, 0, 0, $mois2, $jour2, $an2);
$temp = array();
$j=0;
while ($timestampStart <= $timestampEnd)
{
$jour_julien = unixtojd($timestampStart);
$jour_semaine = jddayofweek($jour_julien, 0);
if($jour_semaine != 0 || $jour_semaine != 6)
{
$temp[$j] = date("Y-m-d", $timestampStart);
$j++;
}
$jour++;
$timestampStart=mktime(0,0,0,$mois,$jour,$an);
}
return $temp;
}
$a=diff_date('11', '07', '2008', '17', '07', '2008');
$tab = array();
$tab=jour_ferie('11', '07', '2008', '17', '07', '2008', $a);
for($k=0;$k<count($tab);$k++){
echo $tab[$k];
echo "<br/>";
}
?>
Marsh Posté le 19-08-2008 à 09:55:33
Bonjour,
Je suis en php et j'aimerais réccupérer les dates des jours non fériés entre deux dates et les stpcker dans un tableau, puis pouvoir afficher ces dates en format""Y-m-d".
Pour l'instant j'ai réussi à stocker dans un tableau les dates des jours entre deux dates mais je sais pas commentfaire pour virer les jours fériers de mon tableau.
Voila les deux fonctions sur lesquelles je me base
function diff_date($jour , $mois , $an , $jour2 , $mois2 , $an2){
$timestamp2 = mktime(0, 0, 0, $mois, $jour, $an);
$timestamp = mktime(0, 0, 0, $mois2, $jour2, $an2);
$diff = floor(($timestamp - $timestamp2) / (3600 * 24));
return $diff;
}
function dateop($jour , $mois , $an , $i){
$temp = array();
for($j=0;$j<=$i;$j++){
$timestamp = mktime(0, 0, 0, $mois, $jour+$j, $an);
$temp[$j] = date("Y-m-d", $timestamp);
}
return $temp;
}
$nbrdejours = diff_date(11 , 07 , 2008 , 18 , 07 , 2008);
$tab = array();
$tab = dateop(11 , 07 , 2008 , $nbrdejours);
for($k=0;$k<count($tab);$k++){
echo $tab[$k];
echo "<br/>";
}
voila ce code me donne ça
2008-07-11
2008-07-12
2008-07-13
2008-07-14
2008-07-15
2008-07-16
2008-07-17
2008-07-18
j'aimerais virer les dates de 2008-07-12 2008-07-13 2008-07-14 qui sont des jours fériés.
Merci bcp pour votre aide !!!