Je cherche un moyen de calculer l'âge d'une personne, compte tenu de sa date de naissance au format jj/mm/aaaa.
J'utilisais la fonction suivante, qui a bien fonctionné pendant plusieurs mois, jusqu'à ce qu'une sorte de problème fasse en sorte que la boucle while ne se termine jamais et que le site entier s'arrête. Étant donné qu'il y a près de 100 000 DOBs qui passent par cette fonction plusieurs fois par jour, il est difficile de déterminer la cause de ce problème.
Quelqu'un a-t-il une méthode plus fiable pour calculer l'âge ?
//replace / with - so strtotime works
$dob = strtotime(str_replace("/","-",$birthdayDate));
$tdate = time();
$age = 0;
while( $tdate > $dob = strtotime('+1 year', $dob))
{
++$age;
}
return $age;
EDIT : cette fonction semble fonctionner correctement dans certains cas, mais elle renvoie "40" pour une date de naissance du 14/09/1986.
return floor((time() - strtotime($birthdayDate))/31556926);