Calcul de l'âge (année seulement)

Soyez le premier à donner votre avis sur cette source.

Snippet vu 6 352 fois - Téléchargée 26 fois

Contenu du snippet

Un code tout simple basé sur un commantaire de matrey sur la source http://www.phpcs.com/code.aspx?ID=13372 .
Son code contenait une "erreur".
Comme je n'ai pas trouvé de telle source autrement que dans son commentaire, je me permet de la poster ici, avec ma modification... J'ai aussi enlevé la gestion des mois...

Source / Exemple :


function age($date)
{
  // source: http://www.phpcs.com/code.aspx?ID=13372
  $date_current=mktime(0,0,0,date("n"),date("d"),date("Y"));
  if (!$date)
  {
    return 0;
  } else {
    ereg("^([0-9]{2,4})-([0-9]{1,2})-([0-9]{1,2})$",$date,$m_date);
    if ($m_date[1] < 1971)
    {
      $plus = 1971 - $m_date[1];
      $annee = 1971;
    } else {
      $plus = 0;
      $annee = $m_date[1];
    }

    $date_born=mktime(0,0,0,$m_date[2],$m_date[3],$annee);
    $diff = floor((($date_current - $date_born) / (3600 * 24)) / 365) + $plus;

    return $diff;
  }
}

Conclusion :


Voila...

A voir également

Ajouter un commentaire

Commentaires

tubededentifrice
Messages postés
4
Date d'inscription
dimanche 18 mai 2003
Statut
Membre
Dernière intervention
1 juin 2004
-
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
-
Il y a de grandes chances puisque le timestamp de PHP compte les secondes depuis l'aire unix estimée en 1970 justement.
cs_natha
Messages postés
22
Date d'inscription
mardi 13 mai 2003
Statut
Membre
Dernière intervention
21 octobre 2005
-
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
-
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
-
trop long...
regarde mon 1er commentaire, tu fais ça en 1 ligne (tu peux même le faire dans une requete MYSQL) !!!!

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.