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

 


Dernière réponse
Sujet : Besoin d'aide PHP calculer un age
Tentacle

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.


Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
Tentacle

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.

benwar 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]

Lord II Essaye les split comme ca
 
list( $jour, $mois, $annee ) = split( '[/.−]', $date1 );
 
Vu dans la doc sur la fonction split
benwar <?
 
$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" );
 
?>
Tentacle [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 :)
benwar <?
 
$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 ?
 
?>
Tentacle

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

dropsy // 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).
benwar 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" );
 
 
?>
Tentacle

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.

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

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.

axelkoala Me![Nombre_Jours].Value = DateDiff("d", Me![Date_deb], Me![Date_Fin])
 
DSL JE SAIS QUE LE FAIRE EN VB
Lord II il te faut extraire l'année de la date et le comparer à l'année courante
benwar 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]


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)