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

  1. 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
  2. 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
  3. 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
    1. 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
  4. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  5. 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
  6. achraf1996 Messages postés 29 Date d'inscription   Statut Membre Dernière intervention  
     
    et d'avoir le tout sous forme d'heur

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