FONCTION DATEDIFF : CALCULE LE TEMPS ENTRE DEUX DATES

cs_Loser Messages postés 33 Date d'inscription dimanche 12 janvier 2003 Statut Membre Dernière intervention 7 novembre 2006 - 16 mai 2004 à 08:29
 Rahmi Ali - 11 juin 2015 à 02:31
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/22803-fonction-datediff-calcule-le-temps-entre-deux-dates

cette fonction est très utile surtout pour des versions de php < 2.3
grand merci
ça marche mais il faut toujours rajouter une journée en plus pour avoir le nbr de jour exactes merci ,
parraccourci Messages postés 6 Date d'inscription mercredi 31 août 2005 Statut Membre Dernière intervention 12 juin 2010
27 sept. 2010 à 12:10
pourquoi passes tu des formats: date custom => time => "d m Y H i s" => time
plutot que de ne passer que par les formats: date custom => time

en faisant simplement :

return round((strtotime($date2) - strtotime($date1))/$mode);

qui tiendra compte des fuseaux horaires si $date1 et $date2 sont au format DATE_ATOM.
Utilisateur anonyme
28 juin 2005 à 07:34
http://www.phpcs.com/code.aspx?ID=23325 et tu adaptes pour changer le format.
maxelpiratos Messages postés 43 Date d'inscription lundi 14 février 2005 Statut Membre Dernière intervention 30 janvier 2006
27 juin 2005 à 22:19
bonjour,

la fonction dat_diff marche bien mais j essai de la coupler a ma base de donnee pour entrer les variables. seulement, le format de la bdd est yyyy-mm-dd et la rien ne va plus!!! :)

est ce que tu connais une solution? je ne peux pas utiliser une requete car je ne veux rien recuperer mais juste me donner le nombre de jour entre les deux dates.

merci d avance!
Nifhell Messages postés 48 Date d'inscription mardi 17 février 2004 Statut Membre Dernière intervention 23 avril 2006
1 avril 2005 à 17:19
Pas mal mais tu devrais tenir compte du passage de l'heure d'été à l'heure d'hiver!! si tu fais:
date_diff("21/03/2005 00h00","28/03/2005 00h00")
ton script comptabilise 1 heure de moins, car dans cette semaine on passe de l'heure d'hiver à l'heure d'été!!
pour éviter ça il faut metter l'option is_dst à 0 dans la fonction mktime:
mktime($P2[3],$P2[4],$P2[5],$P2[1],$P2[0],$P2[2],0)
On pourrait la mettre à 1 mais elle a parfois un comportement bizarre, le tout c'est d'avoir la meme base de calcul lorsque l'on compare deux dates (heure d'été ou heure d'hiver)!
[Source : http://www.nexen.net/docs/php/annotee/function.mktime.php]
Utilisateur anonyme
1 juin 2004 à 14:49
Ce qui est dommage avec cette source c'est que ça ne marchera pas pour les dates antérieures au 01/01/1970. J'ai fait quelque chose qui donne le nombre de jours entre 2 dates quelles qu'elles soient. Faut que je pense à poster ça...
cs_Loser Messages postés 33 Date d'inscription dimanche 12 janvier 2003 Statut Membre Dernière intervention 7 novembre 2006
16 mai 2004 à 08:29
Si on a stocker ses dates dans une bdd mysql on peut faire la requete suivant

SELECT ma_table. * , (TO_DAYS( date_expires ) - TO_DAYS( date_ajout )) AS difference
FROM `ma_table` ORDER BY difference

où :

date_expire : date d'expiration sois elle est contenu dans la bdd, sois dans un variable externe

date_ajout : date ajout de la news par exemple

Et bien sur format des dates : yyyy-mm-dd
Rejoignez-nous