Une fonction php.

deldiaze -  
 deldiaze -
Bonjour je voudrais savoir si quelqu'un peut m'aider à faire une fonction qui permettre de calculer à partir d'une date rentrée à l'aide d'un formulaire, une date de sortie. Sachant que la date de sortie sera la date d'entrée + 30 jours ouvrables.Donc voilà en gros mon probleme j'espere que vous pourrez me venir en aide.

MERCI

A voir également:

4 réponses

thunder413 Messages postés 167 Date d'inscription   Statut Membre Dernière intervention   23
 
salut j'espere que ceci va t'aider si
<?php
function calculdate($dateStr) {

//$dateStr doit etre sous la forme dd/mm/aaaa

// On recupere la le jour mois e anne separe par "/"
list($j,$m,$a) = explode('/',$dateStr);
//On recupere le timestamp a cette date mais a 0h 0min 0sec
$timestamp = mktime(0,0,0,$m,$j,$a);

//Comme on doit travailler avec du timestamp qui est en seconde ce qui donne 1 jour = 86400 sec
$jour = 86400;

//ce compteur servira pour dire si on'a atteint 30 jours ouvrable
$cpJours = 0;

// on fait une boucle infini mais qu'on arretra des qu'on arrive a 30jours ouvrivrable

while (true) {
      
      //on ajoute un jour sur le timestamp recu par le parametre   
      $timestamp = $timestamp + $jour;
	  // on test si le timestamp tombre sur un jour ouvrable ou non
	  // si oui on comptabilise a l'aide de cpJours en l'incrementant
	  // sinon on passe 
	  // date("w") retour un nombre compris entre 0 et 6 (0=dimanche;5=samedi)
	  
	  //si le jour a ce timestamp n'est pas un dimanche ni un samedi 
	  // on comptabilise
	  if (date("w",$timestamp)!= 0 && date("w",$timestamp) != 5 ) {
	   
		 $cpJours++;

		 //On teste maintenant si on'a atteint 30 jours ouvrable
		 if ($cpJours == 30) {
		     
			 //on a attein 30 jours et c'est le but on sors de la boucle
			 break;
		 }
	  }
}
// a la sortie de la boucle on le timestamp de 30 jours ouvrable
return "d'ici 30 jours ouvrable la date sera ".date('d/m/Y',$timestamp); 
}
echo calculdate("08/05/2010");
?>
0
deldiaze
 
bonjour merci pour votre aide , au fait à la derniere ligne là où vous faites "echo calculdate("08/05/2010")" la date ne doit pas etre fixe donc j'ai modifier un peu et j'ai mis comme argument de la fonction calculdate "$datestr" mais là aussi j'ai une fausse date du style ../../2007 , avez vous une idee du beug?

merci
0
thunder413 Messages postés 167 Date d'inscription   Statut Membre Dernière intervention   23
 
le echo que j'ai mis c'etait a titre d'exemple et $dateSrt n'est conu que de la fonction si tu veut lui passer un parametre tu fait par exemple
 //je suppose que t'recupere sa dans un formulaire parexemple 
$madate = "12/05/2020"; 

echo calculdate($madate); 



au fait j'ai tester le code chez moi et ca marche
0
deldiaze
 
c'est nice !!! probleme resolu et merci encore.
-1