Calcul nombre de jours entre deux dates [php]

Résolu/Fermé
Signaler
Messages postés
35
Date d'inscription
mardi 7 septembre 2010
Statut
Membre
Dernière intervention
11 septembre 2014
-
Messages postés
19
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 mai 2016
-
Bonjour,

Voila j'aimerais calculé la différence entre deux dates AAAA-MM-JJ pour avoir le nombre de jours.

datedebut
datefin
dureesejour

Quelqu'un aurait une requête php pour cela?

Merci beaucoup :)
A voir également:

5 réponses

Salut,
Il te suffit de faire une différence de tes 2 dates :
$dureesejour = (strtotime($datefin) - strtotime($datedebut));  

puis le diviser la durée par 86400 pour avoir le nombre de jours, parce que le résultat est en seconde! (60*60*24)
4
Cela marche sauf que j'ai 11 chiffres après la virgules séparant les jours tel que ; 197.04166666667

Quelqu'un a-t-il une idée pour enlever tous ces chiffres après la virgule ?
0
il suffit de mettre une action dans ton formulaire. quand tu clic sur ton bouton submit, tu reviens ta page avec des variables $_POST de ton formulaire définies, puis tu fais ton calcul.

echo "<form method='POST' action='tapage.php'>";
echo "<input type='text' name='deb' value='2011/06/30' />";
echo "<input type='text' name='fin' value='2011/07/05' />";
echo "<input type='submit' value='calcul' />";
echo "</form>";

if (isset ($_POST['fin']) && isset ($_POST['deb']))
{
	$dureeSejour = strtotime($_POST['fin']) - strtotime($_POST['deb']);
	echo $dureeSejour/86400;
}
2
Messages postés
35
Date d'inscription
mardi 7 septembre 2010
Statut
Membre
Dernière intervention
11 septembre 2014
3
Merci beaucoup :)
0
Messages postés
35
Date d'inscription
mardi 7 septembre 2010
Statut
Membre
Dernière intervention
11 septembre 2014
3
j'arrive pas a l'inséré... :/
voila mon code :

<form method="post" action="connection.php"><table border=1>

<tr><td><label for="nom_client">Nom : *</label></td><td><input type="text" name="nomclient" size="25" required><select name="type">
<option value="LOC" >LOCATION</option>
<option value="REP" >REPARATION</option>
</select></td></tr>
<tr><td><label for="prenom_client">Prénom : *</label></td><td><input type="text" name="prenomclient" size="25" required></td></tr>
<tr><td><label for="adresse_client">Adresse : *</label></td><td><input type="text" name="adresseclient" size="50" required></td></tr>
<tr><td><label for="postal_commune">Code Postal / Commune : *</label></td><td><input type="text" name="postalcommune" size="25" required></td></tr>
<tr><td><label for="pays">Pays : *</label></td><td><input type="text" name="pays" size="25" required></td></tr>
<tr><td><label for="telephone">N° Tel Portable : *</label></td><td><input type="tel" name="telephone" size="25" required></td></tr>
<tr><td><label for="mail_client">Adresse Mail *:</label></td><td><input type="email" name="mailclient" size="50" required></td></tr>
<tr><td><label for="lieuvacances">Lieu de vacances / Emplacement : *</label></td><td><input type="text" name="lieuvacance" size="50" required></td></tr>
<tr><td><label for="datedebut">Date de début : *</label></td><td><input type="text" name="datedebut" class="calendrier" required />( AAAA/MM/JJ )</td></tr>
<tr><td><label for="datefin">Date fin : *</label></td><td> <?php include ("calendar.php"); ?><input type="text" name="datefin" class="calendrier" required />( AAAA/MM/JJ )</td></tr>
<tr><td><label for="dureesejour">Durée du séjour : </label></td><td><input type="text" name="dureesejour" size="25"( en journée )/></td></tr>
</table></br>
0
Messages postés
14
Date d'inscription
dimanche 31 mars 2013
Statut
Membre
Dernière intervention
1 avril 2013
279
Pour calculer la différence entre 2 dates (en mois, jours, heures, minutes et secondes), il faut faire la différence entre les 2 timestamp et ensuite décomposer cette différence avec des divisions et des modulo.
Voici un tutoriel :
http://www.finalclap.com/faq/110-php-calcul-difference-deux-date
2
Messages postés
19
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 mai 2016
82
Hello
$anciennedate = "10-10-2015";
$datedujour = date("d-m-Y");
$jmoins = ((strtotime($datedujour)) - strtotime($anciennedate));
$jmoins = round($jmoins / (60*60*24));
echo "La différence entre les 2 dates est de $jmoins jours";
//affiche "La différence entre les 2 dates est de 120 jours"


Enjoy
1
Messages postés
35
Date d'inscription
mardi 7 septembre 2010
Statut
Membre
Dernière intervention
11 septembre 2014
3
Comment peut-on le faire instantanément en rentrant directement les deux dates dans les textbox avant qu'ils soient dans la base de donnée?
0
tu veux dire récupérer les dates contenues dans des textbox puis calculer et afficher le nb de jours ?
tu peux faire ça en javascript dès l'appui sur un bouton, tu vérifies que les champs ne sont pas vides et tu fais ce calcul en récupérant la valeur des textbox.
ça tu peux le faire avant de les rentrer dans la base, tu fais ce calcul sur ta page et ensuite tu les insères dans ta base
0
Messages postés
35
Date d'inscription
mardi 7 septembre 2010
Statut
Membre
Dernière intervention
11 septembre 2014
3
voila c'est exactement sa que je veux c'est faire le calcul sur la page avant de l'inséré dans la base
0
et bah le code d'en haut ne va pas?
0
Messages postés
35
Date d'inscription
mardi 7 septembre 2010
Statut
Membre
Dernière intervention
11 septembre 2014
3
non cela ne fonctionne pas
0
$dateDebut = "2011/06/30";
$dateFin = "2011/07/05";

$dureeSejour = (strtotime($dateFin) - strtotime($dateDebut));

echo $dureeSejour/86400;

là ça m'affiche 5 donc à priori c'est correct. après tu te sers de tes variables pour l'insertion dans la base
0