Une fonction php.
deldiaze
-
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
MERCI
A voir également:
- Une fonction php.
- Fonction si et - Guide
- Easy php - Télécharger - Divers Web & Internet
- Fonction miroir - Guide
- Fonction moyenne excel - Guide
- Expert php pinterest - Télécharger - Langages
4 réponses
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");
?>
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
merci
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
au fait j'ai tester le code chez moi et ca marche
//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