Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1837 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  php tableau des dates de jours non fériés

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

php tableau des dates de jours non fériés

n°1774355
ziha
nezha
Posté le 19-08-2008 à 09:55:33  profilanswer
 

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 !!!

mood
Publicité
Posté le 19-08-2008 à 09:55:33  profilanswer
 

n°1774376
rengzehn
Posté le 19-08-2008 à 10:41:44  profilanswer
 

Tu veux aussi enlever les samedis/dimanches ?
Pour les jours fériés, pas d'autre choix que de les rentrer à la main.

n°1774410
ziha
nezha
Posté le 19-08-2008 à 12:07:50  profilanswer
 

oui surtout les samedis et dimanhes

n°1774445
rengzehn
Posté le 19-08-2008 à 13:40:56  profilanswer
 
n°1774479
ziha
nezha
Posté le 19-08-2008 à 15:12:11  profilanswer
 

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;
 
}  

n°1774547
ziha
nezha
Posté le 19-08-2008 à 17:41:18  profilanswer
 

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/>";  
}  
 
?>


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  php tableau des dates de jours non fériés

 

Sujets relatifs
Tableau recapitulatif d'operation achat/ventecopier 2 fichiers txt en un tableau dans un 3ème fichier avec c++
Visual C++ express : tableau de string ?tableau en argument de fonction et pointeur de pointeur
trier un tableau qui se trouve sur une autre feuille[VBA][Excel] comparer deux dates
[C] Affichage d'un Tableauextraction d'une chaine dans un tableau
Probleme d'affichage de tableau 2dComment envoyer un tableau dynamique dans une autre table?
Plus de sujets relatifs à : php tableau des dates de jours non fériés


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR