Lo más simple que he visto es esta función que os dejo aquí, que simplemente coge primero la parte de meses y días de la fecha actual y la de nacimiento y mira si ya hemos pasado o todavía no. Después resta la parte de años de ambas fechas y finalmente ajusta.
function getAge($birthdate){ $adjust = (date("md") >= date("md", strtotime($birthdate))) ? 0 : -1; // Si aún no hemos llegado al día y mes en este año restamos 1 $years = date("Y") - date("Y", strtotime($birthdate)); // Calculamos el número de años return $years + $adjust; // Sumamos la diferencia de años más el ajuste }
Se puede complicar más haciendo que el formato de entrada se pueda configurar pero lo hemos puesto en formato inglés YYYY-MM-DD. Los resultados son los siguientes:
// Hoy es 2 de diciembre de 2014 echo getAge("1919-02-21"); // devuelve 95 echo getAge("1952-12-07"); // devuelve 61
Espero que os sirva.
No hay comentarios:
Publicar un comentario