Bonjour,
Voici un sujet ou l'on trouve beaucoup de réponses sur le net. J'ai cherché et essayé de le mettre en place sur mon site, mais cela ne marche pas correctement.
Je vous explique, j'ai mis ce code dans mon header.php , qui est intégré dans toutes mes pages via un require:
Ensuite j'ai mis ce code, pour calculer le nombre de jours entre mes 2 dates :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 ///////////////////////////// // Fonction calcul jours entre date ///////////////////////////// function NbJours($debut, $fin) { $tDeb = explode("-", $debut); $tFin = explode("-", $fin); $diff = mktime(0, 0, 0, $tFin[1], $tFin[2], $tFin[0]) - mktime(0, 0, 0, $tDeb[1], $tDeb[2], $tDeb[0]); return(($diff / 86400)+1); }
dans mon exemple, ci dessus, $datefr = 2010-02-25, et $date2 et la date de jour , le résultat est 1096 jours. bizarre ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 $query = "SELECT DateCandidature from MM_Candidature ORDER BY NumCandidature DESC LIMIT 1"; $result = mysql_query($query) or die (mysql_error()); $resultat=mysql_fetch_row($result); $datefr=changedateusfr($resultat[0]); $date2 = date("j-m-Y"); $Nombres_jours = NbJours($datefr, $date2); echo $Nombres_jours;
P.S. Je précise que j'ai des fonctions de conversions de dates sur mon site :
Est-ce que cela poserai problème ? J'ai déjà essayé de bidouiller, d'inverser les formats, mais je ne trouve pas.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 ///////////////////////////// // version 0.10 transforme une date us aaaa-mm-jj en date fr jj-mm-aaaa //et vice-versa ///////////////////////////// function changedateusfr($dateus) { $datefr=$dateus{8}.$dateus{9}."-".$dateus{5}.$dateus{6}."-".$dateus{0}.$dateus{1}.$dateus{2}.$dateus{3}; return $datefr; } function changedatefrus($datefr) { $dateus=$datefr{6}.$datefr{7}.$datefr{8}.$datefr{9}."-".$datefr{3}.$datefr{4}."-".$datefr{0}.$datefr{1}; return $dateus; }
Par contre si je mets dans ma fonction de calcul d'écart, les dates manuellement au lieu de mettre mes variables, cela fonctionne parfaitement.
Partager