Day of Year Calculator
Encuentra qué número de día (1-365) cae una fecha o convierte un número de día de vuelta a una fecha.
Acerca de esta herramienta
Una calculadora de día del año le ayuda a determinar qué número de día del año (1 al 365, o 366 en años bisiestos) cae una fecha específica. Esta herramienta es útil para científicos, analistas de datos, gestores de proyectos y cualquiera que trabaje con secuencias de fechas o datos estacionales. Al comprender qué número de día representa una fecha, puede realizar cálculos de fechas relativas, rastrear días transcurridos e identificar eventos estacionales basándose en su posición en el año.
Para usar la calculadora, simplemente ingrese una fecha de calendario y la herramienta convierte instantáneamente a su número de día del año. Alternativamente, si conoce el número del día, puede ingresarlo junto con el año para obtener la fecha exacta correspondiente. La calculadora maneja automáticamente los años bisiestos, lo que garantiza resultados precisos ya sea que esté trabajando con el 29 de febrero o cualquier otra fecha.
Preguntas Frecuentes
Implementación de Código
from datetime import date, timedelta
def day_of_year(year: int, month: int, day: int) -> int:
"""Return the ordinal day of year (1-365/366)."""
return date(year, month, day).timetuple().tm_yday
def is_leap_year(year: int) -> bool:
return year % 4 == 0 and (year % 100 != 0 or year % 400 == 0)
def days_in_year(year: int) -> int:
return 366 if is_leap_year(year) else 365
def iso_week_number(year: int, month: int, day: int) -> int:
return date(year, month, day).isocalendar()[1]
def day_number_to_date(year: int, day_num: int):
"""Convert ordinal day number back to a date."""
return date(year, 1, 1) + timedelta(days=day_num - 1)
def year_progress(year: int, month: int, day: int) -> float:
day_num = day_of_year(year, month, day)
total = days_in_year(year)
return round(day_num / total * 100, 1)
# Examples
today = date.today()
y, m, d = today.year, today.month, today.day
print(f"Day of year: {day_of_year(y, m, d)}")
print(f"Week number: {iso_week_number(y, m, d)}")
print(f"Leap year: {is_leap_year(y)}")
print(f"Year progress: {year_progress(y, m, d)}%")
print(f"Day 100 of {y}: {day_number_to_date(y, 100)}")
Comments & Feedback
Comments are powered by Giscus. Sign in with GitHub to leave a comment.