Différence entre deux date/time

bakayan9 Messages postés 36 Statut Membre -  
mino254 Messages postés 24 Statut Membre -
Bonjour,
je veux faire le différence entre deux date/time avec PHP.
par exemple: $date1="2008-06-18 16:45:12"
$date2="2008-06-18 16:45:12"
je veux une fonction qui fait le différence entre ces deux date/time ($date2-$date1).
merci d'avance.
Configuration: Windows XP
Firefox 2.0.0.14

3 réponses

  1. rama_du_sud Messages postés 9 Statut Membre 12
     
    Deux fonctions :

    La première date_to_timestamp($date) prend une date au format décrit (AAAA-MM-JJ HH:MM:SS) et la retourne sous la forme d'un timestamp Unix (une valeur entière indiquant le nombre de secondes écoulées depuis l'epoch, soit le 1er Janvier 1970 à 00:00:00).

    La seconde date_diff($date2,$date1) effectue la soustraction $date2 - $date1 entre les timestamps des deux dates fournies en paramètres, et retourne une valeur entière correspondant au nombre de secondes séparant $date2 de $date1.

    Si $date2 est 'strictement supérieure à' $date1, ce nombre est positif.
    Si $date2 est 'égale à' $date1, ce nombre est nul.
    Si $date2 est 'strictement inférieure à' $date1, ce nombre est négatif.

    Attention, ces deux fonctions n'incluent aucun traitement d'erreur. Si les formats d'entrée ne sont pas respectés, la fonction date_to_timestamp($date) retourne simplement 0 (l'epoch).

    function date_to_timestamp ($date) {
        return preg_match('/^\s*(\d\d\d\d)-(\d\d)-(\d\d)\s*(\d\d):(\d\d):(\d\d)/', $date, $m)
               ?  mktime($m[4], $m[5], $m[6], $m[2], $m[3], $m[1])
               : 0;
    }
    
    function date_diff ($date_recent, $date_old) {
       return date_to_timestamp($date_recent) - date_to_timestamp($date_old);
    }
    
    

    Rama du Sud
    7
  2. fullflash
     
    Bonjour,

    Merci pour ta contribution , chez moi ca ne marcherais pas ,
    A cause d'un copié collé sur la page ca m'a rajouté le "-" d'un saut de ligne qui s'est glissé dans ta fonction timestamp au niveau des secondes de qui donnait (\­-d\d) au lieu de (\­d\d).

    a plus
    0
  3. mino254 Messages postés 24 Statut Membre
     
    Bonjour,
    je veux faire le différence entre deux date/time avec delphi7.
    par exemple: $date1="2008-06-18 16:45:12"
    $date2="2008-06-18 16:45:12"
    je veux une fonction qui fait le différence entre ces deux date/time ($date2-$date1).
    merci d'avance.
    -6