Aller au contenu
🛠️ToolsShed

Day of Year Calculator

Trouver le numéro du jour (1–365) pour une date donnée ou convertir un numéro de jour en date.

À propos de cet outil

Une calculatrice du jour de l'année vous aide à déterminer quel numéro de jour de l'année (1 à 365, ou 366 en années bissextiles) tombe une date spécifique. Cet outil est utile pour les scientifiques, les analystes de données, les gestionnaires de projets et toute personne travaillant avec des séquences de dates ou des données saisonnières. En comprenant quel numéro de jour représente une date, vous pouvez effectuer des calculs de dates relatives, suivre les jours écoulés et identifier les événements saisonniers en fonction de leur position dans l'année.

Pour utiliser la calculatrice, il suffit d'entrer une date de calendrier et l'outil la convertit instantanément en son numéro de jour de l'année. Inversement, si vous connaissez le numéro du jour, vous pouvez l'entrer avec l'année pour obtenir la date exacte correspondante. La calculatrice gère automatiquement les années bissextiles, garantissant des résultats précis, que vous travailliez avec le 29 février ou toute autre date.

Questions Fréquentes

Implémentation du Code

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.