[RESOLU] date();

ze-lululu
Invité n'ayant pas de compte PHPfrance

21 mai 2014, 19:22

salut
j'ai un bout de code qui marche :
  	      			  	  
					  	  $delai_reparation = 25;

						      for($delai=0;$delai<$delai_reparation;$delai++)
						      {
						 
						       //si le numéro du jour correspond à un samedi ou dimanche
						        if((date("N",strtotime("+".$delai." days"))>5))
						 
						        //on rajoute 1 jour dans le délai de livraison
						        {$delai_reparation=$delai_reparation+1;}

						      }
					 
						    //récupération de la date de livraison
						    $date_end = date("Y-m-d", strtotime("+".$delai_reparation." days"));
je voudrais le faire fonctionner non pas en utilisant la date du jour, mais une autre date stockée précédement dans une variable.
Je ne sais pas comment faire pour adapter mon code ici :
if((date("N",strtotime("+".$delai." days"))>5))
Comment adapter cette ligne pour qu'elle puisse fonctionner avec par exemple $dateX = 1400683575;

Cordialemment..

ViPHP
xTG
ViPHP | 7331 Messages

21 mai 2014, 20:03

La fonction date prend en paramètre un timestamp, ton $dateX semble en être un :
if((date("N",$dateX)>5))

Mammouth du PHP | 571 Messages

21 mai 2014, 21:48

pour obtenir à partir d'une date donnée,la date correspondant au 25ème jour(ou 25+1 jour si le 25eme jour est sam ou dim) tu peux faire simplement comme ceci:

$dateX="2014-05-21";
$date = new DateTime($dateX);
$delai=25;
$date->modify("+$delai day");//on ajoute 25 jours à $date
//la date correspond à samedi ou à dimanche on ajoute alors 1 jour
if( $date->format('N')==6 || $date->format('N')==7 ){
  $date->modify("+1 day");//on ajoute 1 jour à $date
}
echo 'delai=', $date->format('d-m-Y');//


ze-lululu
Invité n'ayant pas de compte PHPfrance

21 mai 2014, 22:05

Merci pr vos réponses x)

J'ai résolu mon soucis
if((date("N",strtotime($date_begin_verif."+".$delai." days"))>5))

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

21 mai 2014, 22:44

Modération :
Puisque ta question est résolue, je l'indique en cliquant sur le bouton "Mettre le sujet en tant que Résolu" pour que les futures personnes qui voudront consulter ce sujet sachent qu'il contient une solution.

Tu peux réaliser cette opération toi-même en cliquant sur le bouton vert situé en haut de la page à côté du titre, si tu as posté le 1er message en tant que membre (inscrit et identifié).

Alors... inscris-toi !!! ;)
Il en faut peu pour être heureux ......