Información y pasos previos al calcular la edad en php usando la fecha de nacimiento

Os preguntaréis para que podría ser útil calcular la edad en php usando la fecha de nacimiento  sin tener que guardar esta información en concreto. Aunque parezca obvio el primer motivo es que las personas cada año envecejen un año de tal manera si guardas la edad, el año que viene estos datos no te serían útiles y deberías volver a pedirlos al usuario, por lo tanto el calcular la edad con php es importante .

¿Por tanto cómo hacerlo?. Es muy sencillo, solo conociendo la fecha de nacimiento (previamente obtenida en un formulario de registro o cualquier otra forma valida) podemos hacer el calculo al restar esta fecha a la fecha de hoy, de esta manera conocemos la edad de la persona y además nos será muy fácil hacerlo en php tal y como te explico más abajo.

Para entender el post solo es necesario un mínimo conocimiento de php y html, no es necesario tener un nivel avanzado y os invito a que lo provéis.
Os dejo un enlace a la documentación oficial de la clase Datetime de PHP para que buceéis un poco sobre los métodos de la clase y otros ejemplos que os podrían servir.

http://php.net/manual/es/class.datetime.php

También os dejo otro enlace que explica el uso de Datetime format, método que se usa para modificar el formato de la fecha.

http://php.net/manual/es/datetime.format.php

 

Calculo de la edad usando la fecha de nacimiento con  la clase Datetime en PHP

El calculo de la edad siempre puede resultar engorroso cuando estamos trabajando con diferentes formatos.

Para mi lo que siempre me resulta óptimo y sencillo es localizar una manera con la que me sienta cómodo trabajando con fechas o cualquier tipo de conversión (aunque siempre te recomiendo estar abierto a nuevas formas, no lo sabemos todo y siempre hay alguien que lo pueda hacer mejor que tu, aplicado a mi mismo también 😉 ).

Esto último que he comentado no solo va enfocado a las fechas sino a cualquier código o script que piques, deberías intentar buscar una manera cómoda para tí de realizar tus desarrollos.

Te voy a enseñar como yo he solucionado este problema al calcular la edad en php usando la fecha de nacimiento. Primero te mostraré cómo funciona el código y que métodos utilizar para mostrar Calcular la edad en PHP usando la fecha de nacimiento usando dos fechas.
La primera fecha viene a ser la fecha de cumpleaños (nacimiento) de la persona y la segunda, la fecha actual.

Usando los métodos de la clase DateTime() de PHP, aplicaremos la diferencia y usaremos el atributo “y” que nos permite obtener los años (podríamos extraer la “m” para los meses o “d” para los días, pero nos interesan los años en esta ocasión) del objeto creado.

 

Printar edad usando una tabla HTML con Datetime

¿Parce sencillo verdad? Ahora hagamos una prueba más real dónde queremos mostrar al usuario una tabla con la edad introducida.
Además veremos como obtener la fecha en formato timestamp (cadena de números, en formato Unix) muy usado para guardar fechas en base de datos.

Utilizamos el código anterior para obtener la edad de una persona, creamos  la variable “$html” usando una tabla en código html y mostramos los datos obtenidos.

 

Cómo podéis ver, con el objecto $data_birth usamos un método getTimestamp() que nos devuelve la fecha en formato UNIX y  que no tiene mucho sentido para los humanos (usado para guardar fechas en base de datos).
También usamos el método format(‘Y-m-d’), con el que le damos el formato que queramos siguiendo la documentación y que ya nos es familiar para el resto de mortales (podemos añadir horas minutos y segundos, quitarlas, dejar solo el tiempo y quitar la fecha..).

Cada vez que uso código como timestamps, base64 o en hexadecimal visualizo lo predecido en terminator con el final del mundo y Skynet .

Skynet en terminator devastando el mundo similar a un error de código

 

El resultado sería este

Resultado de printar una tabla HTML y calcular la edad en php usando la fecha de nacimiento con funciones

Printar una tabla HTML al calcular la edad en php usando la fecha de nacimiento con funciones

Ahora lo que haremos será aplicar a esto a un código real, usando un buen método de programación, las funciones.
El código será el mismo pero lo vamos a ordenar por funciones para ser reutilizado las veces que queramos, de esta manera nos evitamos repetir código (código espagueti) y tener bien ordenadas las funciones y localizadas.

Para ello crearemos tres funciones, una para calcular la edad que nos devolverá los años a partir de dos fechas , la segunda función se encargará de printar la tabla con html usando la edad obtenida, finalmente tenemos la función principal del programa desde dónde llamamos a la primera función y la segunda (main).

 

 

 

  • La función getDate(), usará como parámetro dos fechas enviadas desde la función principal “indexyear()” y devuelve los años.
  • La función printar_tabla_edad() le pasaremos por parámetro, las dos fechas que calculamos y la edad obtenida, así podremos incluir estos datos en nuestra tabla html.
  • La función idexYear() es la función principal del programa, la podemos usar como función o sin ella, a gusto de cada uno.
  • Finalmente usamos la función de PHP print($html) para imprimir la tabla en nuestro documento.

De esta manera nos quedaría un código ordenado por funciones, fácil de mantener en caso de hacer retoques en un futuro y reutilizable si la queremos usar desde otro código o clase.

Espero que os haya gustado el post calcular la edad en php usando la fecha de nacimiento, si tienes cualquier duda o quieres simplemente debatir otras maneras de hacerlo dejes un comentario o te pongas en contacto con https://albertsg.com y te contestaremos encantados!.

También te puede interesar el post anterior sobre Git! herramienta muy útil y actual que deberías conocer y aplicar Porque usar Git.

Sin más dilación, a seguir picando tecla como decimos por aquí!

Manos tocando un piano como si se estuviera programando en php