Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1488 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Retrouver l'age à partir d'une date?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Retrouver l'age à partir d'une date?

n°848395
Profil sup​primé
Posté le 13-09-2004 à 09:49:40  answer
 

j'ai du mal a trouver comment retrouver un age à partir d'une date de naissance (Y-m-d)
 
j'ai fait une soustraction de date
 
genre

Code :
  1. $age = date("Y-m-d" )-$sear->date_naiss;


 
ou $sear->date_naiss = "1984-05-05"
ca me donne bien 20 ans.
 
Le probleme c'est qu'en placant la date du serveur sur "2004-05-04" ca me sort toujours 20 ans :(
 
comment je pourrait faire? :(

mood
Publicité
Posté le 13-09-2004 à 09:49:40  profilanswer
 

n°848413
Sebastien
Posté le 13-09-2004 à 10:08:30  profilanswer
 

fonction mktime.

n°848418
Profil sup​primé
Posté le 13-09-2004 à 10:16:21  answer
 

ben oui mais
 

Citation :

Warning: date(): Windows does not support dates prior to midnight (00:00:00), January 1, 1970 in


 
et j'ai pas mal de date de naissance < 1970 :(

n°848434
Sebastien
Posté le 13-09-2004 à 10:23:42  profilanswer
 

J'ai parle de mktime pas de date :o

n°848437
Profil sup​primé
Posté le 13-09-2004 à 10:26:17  answer
 

je sais je sais :D
 
mais je doit le combiner avec date nan?
 
j'ai fait

Code :
  1. $date = explode("-", $sear->date_naiss);
  2.  $age = date("Y", mktime(0, 0, 0, $date[1], $date[2], $date[0]));


 
mon MKtime est bon, sauf pour les valeur < 1970 egalement
 
Warning: mktime(): Windows does not support negative values for this function in c:\work\mylove\pages\index.php on line 697
 
:/

n°848445
skeye
Posté le 13-09-2004 à 10:33:52  profilanswer
 

chacal_one333 a écrit :

je sais je sais :D
 
mais je doit le combiner avec date nan?
 
j'ai fait

Code :
  1. $date = explode("-", $sear->date_naiss);
  2.  $age = date("Y", mktime(0, 0, 0, $date[1], $date[2], $date[0]));


 
mon MKtime est bon, sauf pour les valeur < 1970 egalement
 
Warning: mktime(): Windows does not support negative values for this function in c:\work\mylove\pages\index.php on line 697
 
:/


fais un "+100" sur les années, et basta!:o


---------------
Can't buy what I want because it's free -
n°848447
Profil sup​primé
Posté le 13-09-2004 à 10:35:12  answer
 

"Therefore the range of valid years includes only 1970 through 2038."
 
date_naiss = 1960
+100 = 2060
 
BANG :o


Message édité par Profil supprimé le 13-09-2004 à 10:35:32
n°848449
skeye
Posté le 13-09-2004 à 10:39:37  profilanswer
 

chacal_one333 a écrit :

"Therefore the range of valid years includes only 1970 through 2038."
 
date_naiss = 1960
+100 = 2060
 
BANG :o

Putain c'est short...[:w3c compliant]
Fais tes calculs à la main, c'est trop naze...


---------------
Can't buy what I want because it's free -
n°848453
Profil sup​primé
Posté le 13-09-2004 à 10:42:04  answer
 

vais voir avec le boss pour passer sous linux [:joce]

n°848456
Sebastien
Posté le 13-09-2004 à 10:43:57  profilanswer
 

pfff moi pareil et pourtant :/
 

Citation :

year peut prendre deux ou quatre chiffres, avec les valeurs entre 0-69 qui correspondent à 2000-2069 et 70-99 à 1970-1999 (sur les systèmes où time_t sont sur des entiers 32bit signés, comme cela se fait le plus souvent de nos jours, year  est valide dans l'intervalle 1901 et 2038.
 
    Microsoft Windows : Les valeurs négatives des timestamp ne sont pas supportées sous toutes les versions actuelles de Microsoft Windows. De ce fait, l'intervalle valide pour les années est de 1970 à 2038, inclus.

mood
Publicité
Posté le 13-09-2004 à 10:43:57  profilanswer
 

n°848457
Profil sup​primé
Posté le 13-09-2004 à 10:45:24  answer
 

wai ben linux rulaiz sur ce coup :jap:
 
a moins d'avoir des personnes née avant 1901, ca dont je doute [:joce]

n°848729
Mara's dad
Yes I can !
Posté le 13-09-2004 à 14:18:23  profilanswer
 

Utilises les fonctions de calendrier pour manipuler des jours juliens. Ensuite il reste plus qu'à faire les calculs, vu qu'il n'y a pas de fonctions pour ça :
 
Exemple http://www.surleau.com/test/age.php


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
n°848737
Profil sup​primé
Posté le 13-09-2004 à 14:21:06  answer
 

merci mara's dad :)

n°848782
Mara's dad
Yes I can !
Posté le 13-09-2004 à 14:56:10  profilanswer
 

Bien sûr y'a beaucoup plus simple :)
 
C'était juste pour montrer l'existance des fonctions de calendrier...


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
n°848784
Profil sup​primé
Posté le 13-09-2004 à 14:57:41  answer
 

ah ben si ya plus simple jveut bien hein [:totoz]
 
suis pas encore sous nunux, donc en attendant si tu a une fonction magique que je connait pas et qui se limite pas à 1970... :o

n°848797
Mara's dad
Yes I can !
Posté le 13-09-2004 à 15:07:41  profilanswer
 

Ben comme le timestamp est limité, on ne peux pas l'utiliser.
Donc on a :
$JN = Jour de naissance,
$MN = Mois de naissance,
$AN = Année de naissance,
$JA = Jour d'aujourd'hui,
$MA = Mois d'aujourd'hui,
$AA = Année d'aujourd'hui.
 
Donc $Age = $AA-$AN.
// 1 an de moins si l'anniversaire n'est pas passé :
Si( $AA > $AN et ( $MA < $MN ou ( $MA == $MN et $JA < $JN ) ) )
{
    $Age--;
}


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
n°848803
Profil sup​primé
Posté le 13-09-2004 à 15:09:00  answer
 

ah bha oui forcement comme ca, c'est tout con.
 
Je voyait pas comment resoudre le probleme de l'année pas passé, mais je voit qu'avec les bonnes vieilles methode bien crade c'est faisable [:petrus75]

n°848816
Mara's dad
Yes I can !
Posté le 13-09-2004 à 15:15:10  profilanswer
 

http://www.surleau.com/test/age1.php :D


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
n°849023
neogally
Battle Angel Alita
Posté le 13-09-2004 à 18:19:51  profilanswer
 


 
c competement hs  :o  
mis tu fe commetn pour afficher avec cette belle colo syntaxique  :??:

n°849276
Mara's dad
Yes I can !
Posté le 13-09-2004 à 22:36:34  profilanswer
 

Ben mets tes lunettes et regardes la dernière instruction :D


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Retrouver l'age à partir d'une date?

 

Sujets relatifs
[Dreamweaver] classement des dossiers par date et non par nom!quitter proprement une application a partir d'une interface graphique
insertion dans une std::list à partir d'un reverse_iterator[BATCH] creation de repertoire avec la date du jour ?
generation de requetes sql a partir du codeAjouter un jour à une date [resolu]
[PHP/MySQL] Select par date [Résolu]Conversion de date avec MSQUERY
date systemeenvoi info à un ou word à partir du php - touche F1, F2 ???
Plus de sujets relatifs à : Retrouver l'age à partir d'une date?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR