Erreur avec le calcul d'une date

Signaler
Messages postés
217
Date d'inscription
lundi 4 février 2002
Statut
Membre
Dernière intervention
19 décembre 2012
-
Messages postés
1423
Date d'inscription
mardi 14 décembre 2004
Statut
Membre
Dernière intervention
29 décembre 2012
-
Bonjour,

J'ai un sérieux problème et le voici...
pourquoi j'ai ce résultat? DATE: 364 years 31 days 21 hours 2 minutes 12 seconds
c'est impossible pourtant? 2007 - 1987 n'égale pas à 364 ans ???

<?php
function diff_date($jour , $mois , $an , $jour2 , $mois2 , $an2) {
 $date = mktime(0, 0, 0, $mois, $jour, $an);
 $date2 = mktime(0, 0, 0, $mois2, $jour2, $an2);
 $diff = floor(($date - $date2) / (3600 * 24));
  return $diff;
}

$test = getdate(diff_date(30, 10, 2007, 03, 10, 1987));
extract($test, EXTR_PREFIX_SAME, "wddx");
echo "DATE: $yday years $mday days $hours hours $minutes minutes $seconds seconds";
?>

Merci encore une fois !!!

1 réponse

Messages postés
1423
Date d'inscription
mardi 14 décembre 2004
Statut
Membre
Dernière intervention
29 décembre 2012
4
C'est normal la valeur retournée est correcte c'est ton getdate qui ne va pas.
Il faut transformer ton nombre de seconde en années,mois,jours,...

Mon conseil:
Lire la doc avant d'ecrire des incohérences comme ça !!!
http://de3.php.net/manual/fr/function.getdate.php

Ceci peut t'aider...
http://www.codyx.org/snippet_obtenir-toutes-dates-valides-comprises-entre-dates_128.aspx
Mais cette fois tu crée pas un nombre en années,mois,... via des secondes mais via un tableau que tu peux ordonner comme bon te semble
tu auras un nombres de jours il te restera a faire la différence entre les heures,minutes,...

(malalam cette solution via tableau je te la dedie )
--------------------------------------------------------------------------------------------------
         Il vaut mieux poser une question et passer pour bête que le rester toute sa vie