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 determina el tiempo exacto entre dos fechas: una fecha de nacimiento y una fecha de referencia, normalmente la fecha actual. Expresa el resultado en años, meses y días, y también como un total acumulado de meses, semanas, días, horas, minutos y segundos. La edad también puede calcularse para una fecha pasada o futura, lo que muestra 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 no todos los meses tienen 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 de edad. 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 del 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=⌊t−b86400000⌋d = \left\lfloor \frac{t - b}{86400000} \right\rfloor

donde d es el número de días completos, t la fecha objetivo y b la fecha de nacimiento, cada uno tomado como un recuento de milisegundos, y el divisor es el número de milisegundos de un día.

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 resuelto

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

MedirValor
Edad según el calendario20 años, 0 meses y 0 días
Total de meses240
Total de semanas1.043
Total de días7.305
Total de horas175.320
Total de minutos10.519.200
Total de segundos631.152.000
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 que queda dentro del intervalo 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 algunos días al calcularlo manualmente.

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 advierte que el argumento "md" puede devolver un número negativo o un recuento de días incorrecto cerca de los límites entre meses, por lo que la parte de días restantes de esa fórmula no siempre coincide con la regla de ajuste indicada anteriormente.

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. En un año sin un 29 de febrero, el aniversario de un nacimiento en día bisiesto se cuenta como el 28 de febrero, el último día de ese mes. Una persona nacida el 29 de febrero de 1996 tiene 26 años, 11 meses y 22 días el 20 de febrero de 2023, y su próximo cumpleaños cae 8 días después, el 28 de febrero de 2023.

¿Se puede calcular la edad para una fecha pasada o futura? Sí. Establecer una fecha futura como fecha de referencia muestra qué edad tendrá una persona ese día. Establecer una fecha pasada muestra qué edad tenía. La fecha de nacimiento no puede estar en el futuro y la fecha de referencia no puede ser anterior a la fecha de nacimiento.

¿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.

Fuentes

  1. Python dateutil — relativedelta, la regla de mes y día de la edad según el calendario descrita anteriormente.
  2. Plataforma Java — Period.between y ChronoUnit.DAYS.
  3. Microsoft Excel — función DATEDIF.
  4. MDN Web Docs — Date.
  5. Dershowitz, N., y Reingold, E. M. Calendrical Calculations: The Ultimate Edition. Cambridge University Press, 2018.