Comparaison de dates

Résolu
Signaler
Messages postés
321
Date d'inscription
samedi 12 février 2005
Statut
Membre
Dernière intervention
21 février 2013
-
Messages postés
321
Date d'inscription
samedi 12 février 2005
Statut
Membre
Dernière intervention
21 février 2013
-
hello,


je voudrais donner l'age des membres par comparaison de dates entre leurs dates de naissance et la date du jour au format date

exemple
date de naisssnce : 1982-05-26
date du jour : 2005-07-18

est-ce que c'est posiible sans avoir a se faire chier avec des calculs ?


joebuz

11 réponses

Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
9
salut,



passe plutôt par des timestamp ça sera plus simple. Convertit tes
timestamp en dates et ensuite utilise la fonction floor avec la date
courante, etc...

<hr size="2" width="100%">




<li>Entraide, dépannage et vulgarisation informatique: Mon site de vulgarisation informatique</li>
Messages postés
855
Date d'inscription
mardi 19 novembre 2002
Statut
Membre
Dernière intervention
28 juillet 2009
1
tu peux utilise les fonctions php time et date :

http://www.lephpfacile.com/tips/index.php?p=15




-------------------------------------
Les ordinateurs, plus on s'en sert moins, moins ça a de chance de mal marcher. [Les Shadoks]
Messages postés
321
Date d'inscription
samedi 12 février 2005
Statut
Membre
Dernière intervention
21 février 2013

si j'ai bien tout compris,
j'enregistre les dates au format timestamp dans ma BDD et apres je la convertit en date pour la comparer a la date actuelle avec floor,
euh juste une question comment que je fais pour convertir une date en "timestamp en date" ??


joebuz
Messages postés
855
Date d'inscription
mardi 19 novembre 2002
Statut
Membre
Dernière intervention
28 juillet 2009
1
fonction time, fonction date.




-------------------------------------
Les ordinateurs, plus on s'en sert moins, moins ça a de chance de mal marcher. [Les Shadoks]
Messages postés
321
Date d'inscription
samedi 12 février 2005
Statut
Membre
Dernière intervention
21 février 2013

si je fais :

$date_anniv
$age = floor((date(Ymd) - $date_anniv
)/10000);

avec $date_anniv enregistrer en timestamp (19820526000000)

c'est bon ?


joebuz
Messages postés
321
Date d'inscription
samedi 12 février 2005
Statut
Membre
Dernière intervention
21 février 2013

joebuz
Messages postés
321
Date d'inscription
samedi 12 février 2005
Statut
Membre
Dernière intervention
21 février 2013

OK, avec :

$age = floor(date(Ymd) - ($date_anniv/1000000));

exemple :
$date_anniv = 19821009000000
$date_anniv / 1000000 = 19821009

date(Ymd) = 20050718
$age 20050718 - 19821009 229709

l'age du mec est de 22ans
mais le 9709 correspond a rien ?


joebuz
Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
9
si, à son age en secondes ;-)

<hr size="2" width="100%">




<li>Entraide, dépannage et vulgarisation informatique: Mon site de vulgarisation informatique</li>
Messages postés
10839
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
25
Lol heu...il est pas vieux le mec...ou les secondes passent TRES lentement pour lui...;-)
Messages postés
321
Date d'inscription
samedi 12 février 2005
Statut
Membre
Dernière intervention
21 février 2013

excusez moi j'ai été un peu vite ..... :-)


j'ai reglé le timestamp de ma table sur 8 pour n'avoir que la date et pas l'heure 20050718 ou 19821009


ce qui evite les calculs inutiles comme divisé par 1000000, et en plus ca affiche un resultat plus gerable !

le seul probleme maintenant c'est que toutes mes dates anniversaire ce sont mis a la date d'aujourd'hui dans la table parceque c'est réglé sur NOW
j'ai essayé les autres propositions pour rentre les valeurs en manuel mais aucune ne fonctionne , faut que je me mette sur quoi ?
CURDATE
CURTIME
FROM_DAYS
FROM_UNIXTIME
PERIOD_ADD
PERIOD_DIFF
TO_DAYS
UNIX_TIMESTAMP
ou
WEEKDAYS ???


joebuz
Messages postés
321
Date d'inscription
samedi 12 février 2005
Statut
Membre
Dernière intervention
21 février 2013

oups ! z'avais pas vu !!
ya une petite checkbox a cocher !!!!!!!!!!!!!!!!!!!!!

Merci a tous pour vos conseils


joebuz