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

  FORUM HardWare.fr
  Programmation

  Besoin d'aide PHP calculer un age

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Besoin d'aide PHP calculer un age

n°104574
benwar
Posté le 25-02-2002 à 16:17:12  profilanswer
 

Salut je voudrais trouver l'age de kelk1 a partir de sa date de naissance ; en PHP
 
exp :  
<?
 
 $date = ("13/04/1979" );
 
 $age = fontion_trouve_age($date);
 
 echo = ("$age" );
 
?>
 
merci

 

[jfdsdjhfuetppo]--Message édité par benwar--[/jfdsdjhfuetppo]

mood
Publicité
Posté le 25-02-2002 à 16:17:12  profilanswer
 

n°104589
Lord II
PIB2000
Posté le 25-02-2002 à 16:30:31  profilanswer
 

il te faut extraire l'année de la date et le comparer à l'année courante

n°104591
axelkoala
Posté le 25-02-2002 à 16:37:53  profilanswer
 

Me![Nombre_Jours].Value = DateDiff("d", Me![Date_deb], Me![Date_Fin])
 
DSL JE SAIS QUE LE FAIRE EN VB

n°104600
benwar
Posté le 25-02-2002 à 16:47:58  profilanswer
 

lord ii a écrit a écrit :

il te faut extraire l'année de la date et le comparer à l'année courante  




 
oui mais c pas vraiment juste comme resultat tu veut dire :  
 
2002-1979=23
 
23 ans mais j'aurrais 23ans le 13/04/2002 moi alors c po bon.

n°104604
Lord II
PIB2000
Posté le 25-02-2002 à 16:57:13  profilanswer
 

Pour avoir le jour exact, il te faut passer par un timestamp mais ca ne marche pas pour une date avant 1970


---------------
La bave du crapaud n'empèche pas la caravane de passer .
n°104607
Tentacle
Posté le 25-02-2002 à 17:00:14  profilanswer
 

lord ii a écrit a écrit :

il te faut extraire l'année de la date et le comparer à l'année courante  




 
Le problème est qu'il faut aussi comparé le mois, et le jour.
 
Bon tu peux extraire le jour/mois/annee ainsi :
 
list ($jour, $mois, $annee) = split ("#/#", $date);
 
sachant que $date contient la date au format jj/mm/aaaa.
 
Tu fais la même opération sur la date actuelle (que tu obtiens avec :
date ("d/n/Y" )
) et ensuite tu te débrouilles pour comparer les jours/mois/années.

n°104615
benwar
Posté le 25-02-2002 à 17:14:57  profilanswer
 

c justement la comparaicson qui me pose un probleme !
 
<?
 
 $date1 = ("13/04/1979" );
 $today = date ("d/n/Y" );  
 
list ($jour, $mois, $annee) = split ("#/#", $date1);
list ($jour2, $mois2, $annee2) = split ("#/#", $today);  
 
//et la c la merde je c plus quoi faire
 
 
//$age = TO_DAYS(NOW())-TO_DAYS($date))/365;
 
 echo = ("$age" );
 
 
?>

n°104620
dropsy
et bonne chance surtout...
Posté le 25-02-2002 à 17:20:42  profilanswer
 

// Calcul de la date à partir de laquelle on supprime les fichiers
 
$toto = mktime(0,0,0,date("m" ),date("d" ) - $nb_jours,date("y" ));
 
$datesuppr = strftime("%y%m%d",$toto);
 
 
 :hello:  
moi j'ai utilisé le code ci-dessus pour enlever un certain nombre de jour à la date actuelle
ca peut peut-être t'aider...
je l'ai trouvé sur www.php.net (ou via une recherche google :??:  je me rappelle plus).

n°104629
Tentacle
Posté le 25-02-2002 à 17:26:54  profilanswer
 

benwar a écrit a écrit :

c justement la comparaicson qui me pose un probleme !
 
<?
 
 $date1 = ("13/04/1979" );
 $today = date ("d/n/Y" );  
 
list ($jour, $mois, $annee) = split ("#/#", $date1);
list ($jour2, $mois2, $annee2) = split ("#/#", $today);  
 
//et la c la merde je c plus quoi faire
 
 
//$age = TO_DAYS(NOW())-TO_DAYS($date))/365;
 
 echo = ("$age" );
 
 
?>  




 
Bah tu fais ceci :
 
$age = $annee2 - $annee;
if ($mois2 < $mois) {$age--;};
if ($mois2 == $mois AND $jour2 < $jour) {$age--;};
 
et voila :D

n°104644
benwar
Posté le 25-02-2002 à 17:50:57  profilanswer
 

<?
 
$date1 = ("13/4/1979" );
$today = date ("d/n/Y" );  
 
//je croi que la fonction liste ne fonctionne po  
//car si je fait un echo de $jour y a rien
 
list ($jour, $mois, $annee) = split ("#/#", $date1);
list ($jour2, $mois2, $annee2) = split ("#/#", $today);  
 
$age = $annee2 - $annee;
 
if ($mois2 < $mois) {$age--;};
if ($mois2 == $mois AND $jour2 < $jour) {$age--;};
 
echo ("$age" );
// $age donne 0 comme resultat bizard non ?
 
?>

mood
Publicité
Posté le 25-02-2002 à 17:50:57  profilanswer
 

n°104645
Tentacle
Posté le 25-02-2002 à 17:56:01  profilanswer
 

[citation// $age donne 0 comme resultat bizard non ?
 
?>  
[/citation]
 
Non c'est pas bizarre, tu as mis :
$date1 = ("13/04/1979" );  
 
C'est ça qu'il faut mettre :
$date1 = "13/04/1979";  
 
C'est une string, pas un tableau :)

n°105062
benwar
Posté le 26-02-2002 à 14:55:41  profilanswer
 

<?
 
$date1 = "13/04/1979";
$today = date ("d/m/Y" );
 
//si je mets les valeurs si-dessou ca marche ;
//sinon y a toujours 0 en resultat je pense que c la fontion list qui ne marche po
// quand je fait un echo ("$annee" ); ou ("$annee2" ); rien meme po 0
//j'ai cherché de la doc sur elle et je ne pas trouvé d'explication.
 
//$jour = "13";
//$mois = "4";
//$annee = "1947";
 
//$jour2 = "26";
//$mois2 = "2";
//$annee2 = "2002";
 
 
list ($jour, $mois, $annee) = split ("#/#", $date1);
list ($jour2, $mois2, $annee2) = split ("#/#", $today);  
 
$age = $annee2 - $annee;
 
if ($mois2 < $mois) {$age--;};
if ($mois2 == $mois AND $jour2 < $jour) {$age--;};
 
echo ("$age" );
 
?>

n°105063
Lord II
PIB2000
Posté le 26-02-2002 à 15:00:47  profilanswer
 

Essaye les split comme ca
 
list( $jour, $mois, $annee ) = split( '[/.−]', $date1 );
 
Vu dans la doc sur la fonction split


---------------
La bave du crapaud n'empèche pas la caravane de passer .
n°105079
benwar
Posté le 26-02-2002 à 15:29:02  profilanswer
 

Merci c bon  :crazy:  
 
Pour les prochains qui voudrons faire la meme chose :  
 
<?
 
$date1 = "13/04/1979";  
$today = date ("d/m/Y" );
 
list( $jour_today, $mois_today, $annee_today ) = split( '[/.-]', $today );
 
list( $jour, $mois, $annee ) = split( '[/.-]', $date1 );
 
$age = $annee_today - $annee;
if ($mois_today < $mois) {$age--;};
if ($mois_today == $mois AND $jour_today < $jour) {$age--;};
 
echo ("$age ans" );
 
?>
 
 
PS : j'ai testé avec une date anteriere à 1970 et c bon mais je ne l'ai pas encord testé sous linux...
 
En tout cas merci :D

 

[jfdsdjhfuetppo]--Message édité par benwar--[/jfdsdjhfuetppo]


---------------
J'avait dit à gauche... François  
n°105087
Tentacle
Posté le 26-02-2002 à 15:44:20  profilanswer
 

benwar a écrit a écrit :

Merci c bon  :crazy:  
 
Pour les prochains qui voudrons faire la meme chose :  
 




 
Oups oui en fait j'avais pensé qu'il fallait mettre des délimiteurs d'expression régulière avec split... mais pas besoin en fait. Ce que je voulais faire c'était  
split ("/", $date)
ce qui marche mais ca ne prendra en compte que le '/' en tant que séparateur.


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

  Besoin d'aide PHP calculer un age

 

Sujets relatifs
PHP/ MYSQL : generation d'alias, clause unique[PHP] Installer un module de news
[PHP] Upload d'un fichier, j'en peux plus ...[PHP] cherche application de gestion de contacts perso [trouvée]
[Math] calculer la distance entre 2 points[PHP] Gallerie d' image
Aide formulaires[PHP + GD] pb avec imagecopyresize
[HTML]&[PHP] obliger un champ à afficher en minuscules... 
Plus de sujets relatifs à : Besoin d'aide PHP calculer un age


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