[PHP] Calcul du temps écoulé entre 2 dates

Résolu/Fermé
freeman034 -  
 haha -
Bonjour à tous,
Je voudrais savoir si quelqu'un peut m'aider à calculer le temps écoulé entre 2 dates, par exemple une date $date et le jour présent.

Je sais qu'il faut faire un timestamp pour les 2 dates après les convertir en secondes, les soustraires et les reconvertir en mois et années mais j'y arrive pas... quelqu'un peut me donner un exemple concrêt svp ? Merci !

19 réponses

  1. Bludwarf
     
    Franchement je crois qu'il vaut mieux passer un peu de temps sur la doc PHP plutôt que se taper des lignes de code comme ça !

    Il existe une méthode diff (de la classe DateTime) qui permet de calculer directement un intervalle. Après avec l'intervalle on peut récupérer ce qu'on veut : le nombre de jours, de secondes, etc.

    Voilà un exemple d'utilisation avec des chaines du genre : '2009-06-08 20:30:00'

    $d1 = new DateTime('2009-06-08 20:30:00');
    $d2 = new DateTime('2009-06-10 20:30:00');
    $diff = $d1->diff($d2);

    $nb_jours = $diff->d;

    Voilà j'espère que ça aura servit à quelqu'un ;)
    83
    1. NouNi
       
      bonsoir ,
      comment récupérer la diff des mois et années
      merci d'avance
      0
    2. hash
       
      Bidon cette fonction , change l'année dans ta première date genre 2008 et tu retrouvera toujours le même nombre de jours ...
      0
    3. alami
       
      print_r($diff)
      0
    4. LinKuFF Messages postés 3 Statut Membre
       
      Attention, pour avoir le nombre de jours réels, il ne faut pas utiliser "d" mais "days". "d" n'est à utiliser que si on utilise également "y", "m", etc... car il soustrait le nombre de mois et d'années.

      Il ne faut donc pas utiliser :

      $nb_jours = $diff->d;

      mais :

      $nb_jours = $diff->days;
      0