CALCUL DE L'ÂGE (ANNÉE SEULEMENT)

tubededentifrice Messages postés 4 Date d'inscription dimanche 18 mai 2003 Statut Membre Dernière intervention 1 juin 2004 - 3 mars 2004 à 19:15
tubededentifrice Messages postés 4 Date d'inscription dimanche 18 mai 2003 Statut Membre Dernière intervention 1 juin 2004 - 1 juin 2004 à 16:50
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/20908-calcul-de-l-age-annee-seulement

tubededentifrice Messages postés 4 Date d'inscription dimanche 18 mai 2003 Statut Membre Dernière intervention 1 juin 2004
1 juin 2004 à 16:50
bah, utilisez mon code, il est 10x plus rapide et il marche avec toutes les dates
Dark_Genova Messages postés 26 Date d'inscription lundi 12 avril 2004 Statut Membre Dernière intervention 20 août 2007
1 juin 2004 à 16:04
Il y a de grandes chances puisque le timestamp de PHP compte les secondes depuis l'aire unix estimée en 1970 justement.
Utilisateur anonyme
1 juin 2004 à 14:58
Ca marche pas pour les dates d'anniv avant 1970 ça ou bien ?!
Dark_Genova Messages postés 26 Date d'inscription lundi 12 avril 2004 Statut Membre Dernière intervention 20 août 2007
15 avril 2004 à 11:11
Oui je suis d'accord avec toi, mais perso pour l'utilisation que j'en fais j'avais besoin der le faire comme ça ;)
Sinon c'est sur qu'il y a plus rapide.
++
tubededentifrice Messages postés 4 Date d'inscription dimanche 18 mai 2003 Statut Membre Dernière intervention 1 juin 2004
15 avril 2004 à 07:15
trop long...
regarde mon 1er commentaire, tu fais ça en 1 ligne (tu peux même le faire dans une requete MYSQL) !!!!
Dark_Genova Messages postés 26 Date d'inscription lundi 12 avril 2004 Statut Membre Dernière intervention 20 août 2007
14 avril 2004 à 22:47
Sans vouloir être méchant ce code me semble bien long pour rien ... et pas assez étoffer. Parce que calculer l'année c'est un jeu d'enfant quand tu as le paramètres année, mais calculer en plus en fonction du mois ! C'est ca qu'il faut faire parce que tu na pas forcément l'age indiqué suivant le mois de ta naissance, et même le jour pour faire précis.
Bref ta fonction est imprécises, je te montre celle que j'utilise pour mon forum perso, vous ne pourrez pas l'exploiter étant donné qu'il y a des paramètres externes mais le principe est là:
function User_Age($member_ID)
{
$query = User_Info($member_ID);
$birthday = explode('t',$query['users_Birthday']);

if ( $birthday[0] != 0 && $birthday[1] != 0 && $birthday[2] != 0 )
{
$age_time = mktime('0','0','0',$birthday[1],$birthday[0],$birthday[2]);
$birthday = $birthday[0] . ' / ' . $birthday[1] . ' / ' . $birthday[2];
$age = date("Y",time()) - date("Y",$age_time);

if ( date("m", time()) <= date("m", $age_time) )
{
if ( date("j", time()) <= date("j", $age_time) )
{
$age--;
}
}
$age .= $lang['member_profile_year'];
}
else
{
$birthday = $lang['member_profile_sexe_none'];
$age = $lang['member_profile_sexe_none'];
}
$array = array($age, $birthday);

return $array;
}
tubededentifrice Messages postés 4 Date d'inscription dimanche 18 mai 2003 Statut Membre Dernière intervention 1 juin 2004
3 mars 2004 à 19:15
mdr
n'importe quoi
moi je fais ça en même pas une ligne :
floor((date("Ymd")-str_replace("-","",$naissance))/10000)
avec $naissance au format Y-m-d (standart mysql)
si elle est en format Ymd, on peut virer le str_replace (qui sert à la convertir à ce format)
Rejoignez-nous