choklata Posté 15 Avril 2006 Posté 15 Avril 2006 comment faire la difference entre 2 date exemple: 15/02/2006-12/01/2006=? jours le resultat du difference est donné par nombre de jour svp aider moi avec un cas generale et merci pour l'aide
TheRec Posté 15 Avril 2006 Posté 15 Avril 2006 Bonsoir, cela te donne le nombre de jour(s) entier(s) entre deux dates (peu importe celle qui est plus élevé que l'autre (utilisation de abs) : <?php function datediff($timestamp1,$timestamp2) { return intval(abs($timestamp1-$timestamp2)/86400); } function date_uk2iso($date) { return join("-",array_reverse(explode("/",$date))); } $date1 = date_uk2iso("15/02/2006"); $date2 = date_uk2iso("15/01/2006"); echo datediff(strtotime($date1),strtotime($date2));?> Explications : dans datediff on trouve la différence entre deux timpestamps UNIX, ce qui donne un résultat en secondes, on divise donc par : 60 (secondes) * 60 (minutes) * 24 (heures) = 86400 intval set a ne récupérer que la valeur entière du résultat (les minutes et seconde du dernier jour entamé ou non ne t'intéressent pas, sauf erreur). La fonction date_uk2iso sert à convertir la date dans le format que tu as fourni (Grande-Bretagne)... La date est scindée par les "/", le tableau retourné et renversé et join à nouveau par des "-"...cela correspond à une date ISO 8601 (YYYY-MM-DD) et grâce à cette conversion tu peux utiliser la fonction strtotime qui permet d'obtenir un timestamp depuis une date au format "English" ou ISO...
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant