Erreur avec le calcul d'une date

cs_MAsterC Messages postés 217 Date d'inscription lundi 4 février 2002 Statut Membre Dernière intervention 19 décembre 2012 - 31 oct. 2007 à 03:17
Teclis01 Messages postés 1423 Date d'inscription mardi 14 décembre 2004 Statut Membre Dernière intervention 29 décembre 2012 - 31 oct. 2007 à 11:17
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

Teclis01 Messages postés 1423 Date d'inscription mardi 14 décembre 2004 Statut Membre Dernière intervention 29 décembre 2012 4
31 oct. 2007 à 11:17
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
0
Rejoignez-nous