PHP: calcular edad con fecha de nacimiento

En este post te mostraré cómo calcular los años que ha vivido una persona (es decir, su edad) a partir de su fecha de nacimiento (con exactitud, claramente) en PHP.

Lo que haremos será analizar la fecha de nacimiento, tomar la diferencia con la fecha de hoy y obtener la diferencia en años. Todo eso usando funciones y clases que PHP ya trae.

Por cierto, el método aquí listado funciona de maravilla incluso si hay años bisiestos de por medio.

Requisitos

Necesitamos la fecha en un formato entendible por PHP. Yo recomiendo YYYY-MM-DD por ejemplo 2020-05-05.

También necesitamos PHP 5 o una versión superior; cosa que ya deberías tener. Esto es para la clase DateTime.

La función

Lo que hacemos es crear dos instancias de DateTime; una con la fecha de nacimiento, y otra con el tiempo actual, es decir, la fecha de hoy.

Más tarde invocamos a la función diff, lo que nos dará otra fecha (que tiene la diferencia de fechas).

Finalmente formateamos la fecha resultante y solo extraemos los años. Para ello invocamos a format y le indicamos que solo queremos el número de años, con %y.

Así de simple queda la función. Recibe una cadena que indica la fecha de nacimiento, y devuelve el número de años que tiene la persona.

Obtener edad a partir de fecha en PHP

Ahora veamos cómo usar la función. Puedes usarla de distinta manera y almacenar el resultado en donde gustes (por ejemplo, una base de datos).

Yo simplemente colocaré un arreglo con fechas y luego al recorrerlo imprimiré con printf los valores con el resultado:

La salida al ejecutarlo es:

Calcular edad en PHP con fecha de nacimiento

Si quieres puedes probar el ejemplo online en este enlace.

Encantado de ayudarte


Estoy disponible para trabajar en tu proyecto, modificar el programa del post o realizar tu tarea pendiente, no dudes en ponerte en contacto conmigo.

No te pierdas ninguno de mis posts

Suscríbete a mi canal de Telegram para recibir una notificación cuando escriba un nuevo tutorial de programación.

3 comentarios en “PHP: calcular edad con fecha de nacimiento”

Dejar un comentario