Saltar al contenido
🛠️ToolsShed

Next Birthday Calculator

Calcula días hasta tu próximo cumpleaños, edad actual y día de la semana.

Acerca de esta herramienta

Los cumpleaños son hitos que celebramos cada año, pero calcular el número exacto de días que faltan para tu próximo cumpleaños puede ser sorprendentemente útil para planificar eventos especiales, enviar recordatorios a seres queridos o simplemente satisfacer tu curiosidad sobre cuánto falta para tu próxima celebración. Esta Calculadora de Próximo Cumpleaños calcula instantáneamente cuántos días quedan hasta tu próximo cumpleaños, te muestra tu edad actual y revela incluso qué día de la semana será tu cumpleaños, todo basado en tu fecha de nacimiento y la fecha de hoy.

Usar la herramienta es muy sencillo: introduce tu fecha de nacimiento y obtén de inmediato una cuenta atrás en días, tu edad exacta en años y el nombre del día de la semana de tu próximo cumpleaños. Funciona para cualquier persona sin importar cuándo sea su cumpleaños, ya sea dentro de varios meses o en pocas semanas, lo que la hace perfecta para planificar fiestas sorpresa, programar eventos relacionados con el cumpleaños o configurar recordatorios por adelantado.

Preguntas Frecuentes

Implementación de Código

from datetime import date

def next_birthday_info(birth_date: date, today: date = None) -> dict:
    """Calculate days until next birthday, current age, and day of week."""
    if today is None:
        today = date.today()

    age = today.year - birth_date.year
    # Check if birthday already happened this year
    had_birthday = (today.month, today.day) >= (birth_date.month, birth_date.day)
    if not had_birthday:
        age -= 1

    # Next birthday
    next_year = today.year if not had_birthday else today.year + 1
    try:
        next_bday = date(next_year, birth_date.month, birth_date.day)
    except ValueError:  # Feb 29 on non-leap year
        next_bday = date(next_year, 3, 1)

    days_until = (next_bday - today).days
    day_of_week = next_bday.strftime("%A")

    return {
        "current_age": age,
        "next_birthday": next_bday.isoformat(),
        "days_until": days_until,
        "day_of_week": day_of_week,
        "is_today": days_until == 0,
    }

info = next_birthday_info(date(1990, 7, 15))
print(f"Age: {info['current_age']}")
print(f"Next birthday: {info['next_birthday']} ({info['day_of_week']})")
print(f"Days until: {info['days_until']}")

Comments & Feedback

Comments are powered by Giscus. Sign in with GitHub to leave a comment.