Aller au contenu

difference entre 2 date


Sujets conseillés

Posté

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

Posté

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...

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...