Page 1 sur 1

souci avec diffdate()

Posté : 16 mai 2005, 16:14
par Helene padawane en php
salut je voudrai qu'un requete me donne la différence entre la date actuelle et un champ date de la base de donnée, seulement g une erreur:
.
voici ma requete:

Code : Tout sélectionner

[code] si quelqu'un peut m'aider.... merci d'avance

Posté : 16 mai 2005, 17:35
par Cyrano
Salut,
peut-être bien une virgule en trop entre "diff" et "FROM"

Posté : 17 mai 2005, 10:35
par Helene padawane en php
en effet la virgule était de trop, ceci dit l'erreur perdure.
mais bon qu'a cela ne tienne g trouvé un petite fonction qui donne la différence en nombre de jours..

Code : Tout sélectionner

function diff_date($dt1 , $dt2){ list($jour,$mois,$an)=explode("/",$dt1); list($jour2,$mois2,$an2)=explode("/",$dt2); $date = mktime(0, 0, 0, $mois, $jour, $an); $date2 = mktime(0, 0, 0, $mois2, $jour2, $an2); $diff = floor(($date - $date2) / (3600 * 24)); return $diff; }
mais j'aurai bien aimé comprendre comment fonctione diffdate..
merci en tout cas

Posté : 17 mai 2005, 10:54
par Cyrano
Tu auras peut-être des éléments de réponse ICI, mais je n'ai rien trouvé sur diffdate dans la doc MySQL

Posté : 17 mai 2005, 11:15
par ouckileou
diffdate ça n'existe pas par contre il y a datediff :)
DATEDIFF(expr,expr2)

DATEDIFF() retourne le nombre de jours entre la date de début expr et la date de fin expr2. expr et expr2 sont des expressions de type DATE ou DATETIME. Seule la partie DATE est utilisée dans le calcul.
ici : http://dev.mysql.com/doc/mysql/fr/date- ... tions.html

;)

Posté : 17 mai 2005, 13:58
par Invité
Bon j'ai essayé avec datediff :-> tjs le meme problème
mais tant pis
merci en tout cas

Problème de date

Posté : 10 nov. 2006, 18:39
par Lybil
Bonjour,

Ca marche bien... mais...
Le probleme de cette solution est que; dans le cas d'un calendrier; il ne marche pas pour les dates avant le 1/Janv/1980 utilisant un système d'exploition Microsoft et 1/Janv/1970 sous UNIX/Unix like (linux)

A+
Lybil

en effet la virgule était de trop, ceci dit l'erreur perdure.
mais bon qu'a cela ne tienne g trouvé un petite fonction qui donne la différence en nombre de jours..

Code : Tout sélectionner

function diff_date($dt1 , $dt2){ list($jour,$mois,$an)=explode("/",$dt1); list($jour2,$mois2,$an2)=explode("/",$dt2); $date = mktime(0, 0, 0, $mois, $jour, $an); $date2 = mktime(0, 0, 0, $mois2, $jour2, $an2); $diff = floor(($date - $date2) / (3600 * 24)); return $diff; }
mais j'aurai bien aimé comprendre comment fonctione diffdate..
merci en tout cas