Calculer la duree entre deux date

Résolu
achraf1996 Messages postés 29 Date d'inscription   Statut Membre Dernière intervention   -  
achraf1996 Messages postés 29 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

je souhaite avoir la durée entre deux datetime (d-m-Y H:i)

s'il vous plait aidée moi

merci

7 réponses

miramaze Messages postés 1429 Date d'inscription   Statut Contributeur Dernière intervention   92
 
Hello, j'allais dire comme jordane45 :

https://ideone.com/QCQfCS

<?php

$dateTime1 = new DateTime("2015-07-14");
$dateTime2 = new DateTime("2015-01-01");

$interval = $dateTime2->diff($dateTime1);

var_dump($interval->format("%R%a days"));
3
miramaze Messages postés 1429 Date d'inscription   Statut Contributeur Dernière intervention   92
 
Le principe en même temps c'est de chercher, je crois qu'on a donné assez de pistes.

Pour créer une DateTime avec un format spécifique, il y'a DateTime::createFromFormat().

Exemple live : https://ideone.com/AC6U92

<?php

$date1 = DateTime::createFromFormat("d/m/Y H:i:s", "06/05/15 08:34:32");

$date2 = DateTime::createFromFormat("d/m/Y H:i:s", "07/05/15 10:15:57");

$interval = $date1->diff($date2);

var_dump($interval->format("Le tout : %m mois, %d jours, %h heures, %i minutes, %s secondes"));

$totalHours = $interval->m * 730.4843 + $interval->d * 24 + $interval->h + 0.0166 * $interval->i + 0.0002 * $interval->s;

var_dump(sprintf("En heures : %s", $totalHours));

1
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Bonjour,

Tu peux regarder ici : https://www.php.net/manual/fr/datetime.diff.php
0
achraf1996 Messages postés 29 Date d'inscription   Statut Membre Dernière intervention  
 
dans chaque code que jeu copie de l URL que vous m'avais donne
je rencontre l'erreur suivant
par exemple si j'ai execute le code suivant
<?php
function time_diff($dt1,$dt2){
$y1 = substr($dt1,0,4);
$m1 = substr($dt1,5,2);
$d1 = substr($dt1,8,2);
$h1 = substr($dt1,11,2);
$i1 = substr($dt1,14,2);
$s1 = substr($dt1,17,2);

$y2 = substr($dt2,0,4);
$m2 = substr($dt2,5,2);
$d2 = substr($dt2,8,2);
$h2 = substr($dt2,11,2);
$i2 = substr($dt2,14,2);
$s2 = substr($dt2,17,2);

$r1=date('U',mktime($h1,$i1,$s1,$m1,$d1,$y1));
$r2=date('U',mktime($h2,$i2,$s2,$m2,$d2,$y2));
return ($r1-$r2);

}
$l = time_diff(06/05/15 08:34:32,07/05/15 10:15:57);
echo $l;
?>


erreur est:
Parse error: syntax error, unexpected '08' (T_LNUMBER) in C:\xampp\htdocs\www\project\test date.php on line 22

ligne 22 -->$l = time_diff(06/05/15 08:34:32,07/05/15 10:15:57);

ce n'est pas le seul code que j'ai teste
0
miramaze Messages postés 1429 Date d'inscription   Statut Contributeur Dernière intervention   92
 
Il manque des guillemets dans ton appel de fonction mais on peut faire directement :

Exemple live : https://ideone.com/fpgi9t

<?php

$date1 = new DateTime("06/05/15 08:34:32");
$date2 = new DateTime("07/05/15 10:15:57");

$interval = $date1->diff($date2);

var_dump($interval->format("%m mois, %d jours, %h heures, %i minutes, %s secondes"));
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
achraf1996 Messages postés 29 Date d'inscription   Statut Membre Dernière intervention  
 
qu'est ce que je peut faire pour inverser le jour et le mois dans tons exemple l'intervalle entre les deux date de l'exemple est mémé pas 27h
merci
0
achraf1996 Messages postés 29 Date d'inscription   Statut Membre Dernière intervention  
 
et d'avoir le tout sous forme d'heur

merci
0
achraf1996 Messages postés 29 Date d'inscription   Statut Membre Dernière intervention  
 
merci miramaze :)
0