Zum Inhalt springen
🛠️ToolsShed

Day of Year Calculator

Finde heraus, welche Tagnummer (1–365) ein Datum ist, oder konvertiere umgekehrt.

Über dieses Tool

Ein Jahrestags-Rechner hilft Ihnen, zu bestimmen, welcher Tag des Jahres (1 bis 365 oder 366 in Schaltjahren) ein bestimmtes Datum ist. Dieses Werkzeug ist für Wissenschaftler, Datenanalysten, Projektmanager und jeden nützlich, der mit Datumsequenzen oder Saisondaten arbeitet. Wenn Sie wissen, welche Tagnummer ein Datum darstellt, können Sie relative Datumsberechnungen durchführen, verstrichene Tage verfolgen und Saisonereignisse anhand ihrer Position im Jahr identifizieren.

Um den Rechner zu verwenden, geben Sie einfach ein Kalenderdatum ein und das Werkzeug konvertiert es sofort in seine Tagnummer des Jahres. Umgekehrt können Sie, wenn Sie die Tagnummer kennen, diese zusammen mit dem Jahr eingeben, um das genaue entsprechende Datum zu erhalten. Der Rechner berücksichtigt automatisch Schaltjahre und garantiert genaue Ergebnisse, unabhängig davon, ob Sie mit dem 29. Februar oder einem anderen Datum arbeiten.

Häufig gestellte Fragen

Code-Implementierung

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.