Saltar al contenido

Calculadora de Edad — Edad Exacta en Años, Meses y Días

Calculadora de edad gratuita: ingresa tu fecha de nacimiento para obtener tu edad exacta en años, meses y días, más semanas, días, horas totales y tu próximo cumpleaños.

Calculadora de Edad

Edad exacta
36 años 7 meses 26 días

Naciste un Monday

Próximo cumpleaños: faltan 127 días (cumpliendo 37)

Tu edad en otras unidades

Meses
439
Semanas
1,912
Días
13,387
Horas
321,288
Minutos
19,277,280
Segundos
1,156,636,800

Progreso de vida

Tu edad contra un período de referencia ilustrativo de 80 años.

Visualización de edad3636 / 80 años080
Calculadora de carga...
📚

Documentación

¿Qué es una calculadora de edad?

Una calculadora de edad halla el tiempo exacto entre dos fechas: una fecha de nacimiento y una fecha objetivo, normalmente el día de hoy. Muestra el resultado en años, meses y días, y también como total acumulado en semanas, días, horas, minutos y segundos. La edad también se puede calcular para una fecha pasada o futura, lo que indica cuántos años tenía una persona, o tendrá, en ese día.

Cómo calcular la edad

La edad es la diferencia entre dos fechas del calendario. Hay dos formas correctas de describir esa diferencia, y ambas son útiles para distintos fines.

Edad según el calendario (años, meses y días)

Esta es la forma habitual de expresar la edad, por ejemplo: «33 años, 4 meses y 5 días». Se obtiene en tres pasos:

  1. Contar los años completos transcurridos desde la fecha de nacimiento.
  2. Contar, desde el cumpleaños más reciente, los meses completos transcurridos.
  3. Contar a partir de ahí los días restantes.

El paso 3 se complica cerca del final de un mes, porque los meses no tienen todos el mismo número de días. Una persona nacida el 31 de enero cuya edad se mide el 1 de marzo tiene 1 mes y 1 día. Un mes después del 31 de enero es el 28 de febrero (o el 29 de febrero en un año bisiesto), ya que no existe el 31 de febrero. El 1 de marzo es un día después. Este método, llamado a veces regla relativedelta por la biblioteca de Python que lo popularizó, ajusta la fecha de aniversario al último día del mes más corto para que el recuento de días nunca sea negativo.

Tiempo total transcurrido (días, horas y segundos)

Para contar con precisión el tiempo vivido, ambas fechas se convierten en un único instante y se calcula la diferencia en días completos:

días = floor((fecha objetivo − fecha de nacimiento) ÷ 86.400.000 milisegundos)

Antes de efectuar la resta, ambas fechas se establecen a la medianoche UTC (tiempo universal coordinado). Esto evita que los cambios de horario de verano añadan o resten una hora y distorsionen el recuento de días. A partir del total de días, las semanas se obtienen dividiendo los días entre 7 y redondeando hacia abajo. Las horas, los minutos y los segundos se obtienen multiplicando el recuento de días por 24, 1.440 y 86.400, respectivamente.

Dividir el total de días entre 365 o 365,25 da una edad aproximada en años, pero no tiene en cuenta qué años del intervalo fueron bisiestos. El cálculo según el calendario, descrito anteriormente, es exacto. Use la edad según el calendario para responder «¿qué edad tengo?». Use el total de días o semanas para tareas que necesiten un tiempo transcurrido preciso, como programar dosis de medicamentos o contar hacia atrás hasta un hito.

Ejemplo práctico

Una persona nacida el 1 de enero de 2000, cuya edad se mide el 1 de enero de 2020:

MedidaValor
Edad según el calendario20 años, 0 meses y 0 días
Total de días7.305
Total de semanas1.043
Día de la semana de nacimientoSábado

El total de 7.305 días equivale a 20 × 365 más 5 días bisiestos, correspondientes a los años bisiestos 2000, 2004, 2008, 2012 y 2016. Cada uno de esos años añadió un 29 de febrero dentro del periodo de 20 años. Por eso el recuento de días es mayor que un simple 20 × 365, y por eso es fácil equivocarse por unos días al calcularlo a mano.

Fórmula para calcular la edad en código

El método de cálculo de la edad según el calendario descrito anteriormente puede implementarse en la mayoría de los lenguajes de programación. Es más seguro utilizar una biblioteca de fechas integrada que escribir manualmente las reglas de los años bisiestos y la duración de los meses.

1from dateutil.relativedelta import relativedelta
2from datetime import date
3
4birth, target = date(2000, 1, 1), date(2020, 1, 1)
5
6age = relativedelta(target, birth)     # calendar age
7print(f"{age.years}y {age.months}m {age.days}d")
8
9total_days = (target - birth).days     # total elapsed days
10print(total_days)                      # 7305
11

Microsoft no recomienda la unidad "MD" de DATEDIF. Puede devolver un número negativo, un cero o un resultado inexacto.

Preguntas frecuentes

¿Cómo calculo mi edad exacta? Introduzca la fecha de nacimiento y deje la fecha de referencia en la fecha actual. El resultado muestra la edad en años, meses y días, además de la misma edad expresada en días, semanas, horas y segundos totales.

¿Por qué dos calculadoras de edad dan respuestas diferentes? Por lo general, la diferencia está en cómo se cuentan los días restantes cerca del límite entre meses. Una calculadora que ajusta la fecha al mes más corto al final del mes, como se ha descrito anteriormente, puede diferir en uno o dos días de otra que simplemente divide el tiempo transcurrido entre 30.

¿El cálculo tiene en cuenta los años bisiestos? Sí. El recuento total de días incluye cada 29 de febrero que cae entre las dos fechas, y una fecha de nacimiento del 29 de febrero se mide con el 28 de febrero en los años que no son bisiestos.

¿Se puede calcular la edad para una fecha pasada o futura? Sí. Si se fija como fecha objetivo una fecha futura, se ve la edad que tendrá la persona ese día. Si se fija una fecha pasada, se ve la edad que tenía.

¿Las zonas horarias afectan al resultado? No. Ambas fechas se convierten a la medianoche UTC antes de calcular el recuento de días, por lo que el total permanece igual independientemente de la ubicación del usuario o de los cambios de horario de verano.

¿Por qué el recuento de días difiere de dividir los días entre 365,25? 365,25 es solo la duración media de un año; no indica qué años concretos del intervalo son años bisiestos de 366 días. Contar los días completos entre dos fechas reales del calendario es exacto.

Referencias

  1. Proyecto dateutil. relativedelta. Documentación de relativedelta de dateutil — cuando un mes sumado sobrepasa el final de un mes más corto, se usa el último día de ese mes.
  2. MDN Web Docs (Mozilla). Date. Referencia de Date en MDN — una fecha de JavaScript es un recuento de milisegundos desde el 1 de enero de 1970 UTC; ±8,64 × 10¹⁵ ms equivalen a ±100.000.000 días, de modo que un día son 86.400.000 ms.
  3. Observatorio Naval de EE. UU. Leap Years. Preguntas frecuentes del USNO sobre años bisiestos — los años divisibles entre 4 son bisiestos, excepto los años seculares no divisibles entre 400; 2000 es un año bisiesto.
  4. Microsoft. DATEDIF function. Microsoft Support: DATEDIF — las unidades "Y", "YM" and "MD" units, and the known limitations of "MD".