Comparaison de dates

Résolu
cs_joebuz Messages postés 321 Date d'inscription samedi 12 février 2005 Statut Membre Dernière intervention 21 février 2013 - 18 juil. 2005 à 16:14
cs_joebuz Messages postés 321 Date d'inscription samedi 12 février 2005 Statut Membre Dernière intervention 21 février 2013 - 18 juil. 2005 à 19:55
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

cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 9
18 juil. 2005 à 16:42
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>
3
davwart Messages postés 855 Date d'inscription mardi 19 novembre 2002 Statut Membre Dernière intervention 28 juillet 2009 1
18 juil. 2005 à 16:26
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]
0
cs_joebuz Messages postés 321 Date d'inscription samedi 12 février 2005 Statut Membre Dernière intervention 21 février 2013
18 juil. 2005 à 17:43
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
0
davwart Messages postés 855 Date d'inscription mardi 19 novembre 2002 Statut Membre Dernière intervention 28 juillet 2009 1
18 juil. 2005 à 17:45
fonction time, fonction date.




-------------------------------------
Les ordinateurs, plus on s'en sert moins, moins ça a de chance de mal marcher. [Les Shadoks]
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_joebuz Messages postés 321 Date d'inscription samedi 12 février 2005 Statut Membre Dernière intervention 21 février 2013
18 juil. 2005 à 17:49
si je fais :

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

avec $date_anniv enregistrer en timestamp (19820526000000)

c'est bon ?


joebuz
0
cs_joebuz Messages postés 321 Date d'inscription samedi 12 février 2005 Statut Membre Dernière intervention 21 février 2013
18 juil. 2005 à 17:53
joebuz
0
cs_joebuz Messages postés 321 Date d'inscription samedi 12 février 2005 Statut Membre Dernière intervention 21 février 2013
18 juil. 2005 à 18:02
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
0
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 9
18 juil. 2005 à 18:08
si, à son age en secondes ;-)

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




<li>Entraide, dépannage et vulgarisation informatique: Mon site de vulgarisation informatique</li>
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
18 juil. 2005 à 18:14
Lol heu...il est pas vieux le mec...ou les secondes passent TRES lentement pour lui...;-)
0
cs_joebuz Messages postés 321 Date d'inscription samedi 12 février 2005 Statut Membre Dernière intervention 21 février 2013
18 juil. 2005 à 18:16
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
0
cs_joebuz Messages postés 321 Date d'inscription samedi 12 février 2005 Statut Membre Dernière intervention 21 février 2013
18 juil. 2005 à 19:55
oups ! z'avais pas vu !!
ya une petite checkbox a cocher !!!!!!!!!!!!!!!!!!!!!

Merci a tous pour vos conseils


joebuz
0