Day of Year Calculator
Trova quale numero di giorno (1-365) cade una data, o converti il numero del giorno in una data.
Informazioni sullo strumento
Un calcolatore del giorno dell'anno vi aiuta a determinare quale numero di giorno dell'anno (da 1 a 365, o 366 negli anni bisestili) cade in una data specifica. Questo strumento è utile per scienziati, analisti di dati, project manager e chiunque lavori con sequenze di date o dati stagionali. Comprendendo quale numero di giorno rappresenta una data, potete eseguire calcoli di date relative, tracciare i giorni trascorsi e identificare gli eventi stagionali in base alla loro posizione nell'anno.
Per utilizzare il calcolatore, inserite semplicemente una data di calendario e lo strumento la converte istantaneamente nel suo numero di giorno dell'anno. Alternativamente, se conoscete il numero del giorno, potete inserirlo insieme all'anno per ottenere la data esatta corrispondente. Il calcolatore gestisce automaticamente gli anni bisestili, garantendo risultati precisi sia che stiate lavorando con il 29 febbraio che con qualsiasi altra data.
Domande Frequenti
Implementazione del Codice
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.