Tag des Jahres aus einem Kalenderdatum berechnen
Dieser Rechner wandelt ein Kalenderdatum in seine fortlaufende Position innerhalb des Jahres um.
Im Browser ausführen – kostenlos
Geben Sie ein Datum im Format YYYY-MM-DD ein, um eine ganze Zahl von 1 bis 365 beziehungsweise bis 366 in einem Schaltjahr zu erhalten. Die Berechnung verwendet die gregorianischen Schaltjahrregeln, prüft die tatsächliche Monatslänge und weist unmögliche Daten zurück, statt sie unbemerkt anzupassen. Das ist überall hilfreich, wo ein lesbares Datum als kompakter Jahresindex benötigt wird.
Wandeln Sie ein Kalenderdatum in eine Ordnungszahl um
Der Jahrestag gibt an, wie viele Kalendertage vom 1. Januar bis zum angegebenen Datum vergangen sind, wobei der 1. Januar als Tag 1 zählt. Geben Sie vier Ziffern für das Jahr sowie jeweils zwei für Monat und Tag ein, getrennt durch Bindestriche. Ein Datum Anfang Januar liefert eine kleine Zahl, eines Ende Dezember einen Wert nahe 365 oder 366. Das Ergebnis enthält genau eine Ganzzahl day_of_year, die sich leicht speichern, vergleichen oder weiterverarbeiten lässt. Das Eingabeformat ist bewusst streng: verkürzte Jahreszahlen, vertauschte Bestandteile, Zeitstempel und regionale Schreibweisen werden abgewiesen, da Systeme sie unterschiedlich auslegen können. Der Rechner verwendet den gregorianischen Kalender und unterstützt die Jahre 0001 bis 9999. Serveruhr, Browserzeitzone, Sommerzeit und aktuelles Datum spielen keine Rolle; dieselbe Eingabe erzeugt daher in jedem Kanal stets dieselbe Ausgabe.
So werden Schaltjahre und Monatslängen berücksichtigt
Die Ordnungszahl entsteht, indem die vollständigen Längen aller vorherigen Monate und anschließend der angegebene Tag addiert werden. Nur die Länge des Februars ändert sich. Nach gregorianischen Regeln ist ein durch vier teilbares Jahr gewöhnlich ein Schaltjahr; ein Jahrhundertjahr jedoch nur dann, wenn es zusätzlich durch vierhundert teilbar ist. Deshalb besitzen 2024 und 2000 einen 29. Februar, 1900 und 2100 hingegen nicht. Für alle späteren Daten ist das entscheidend: Der 1. März ist in einem Schaltjahr Tag 61, sonst Tag 60. Vor der Addition prüft dieselbe Regel die Eingabe. Der 31. April, der 30. Februar, Tag null, Monat dreizehn und der 29. Februar eines gewöhnlichen Jahres führen zu einem Fehler. Ungültige Daten werden niemals in den Folgemonat verschoben. So kann keine plausibel wirkende Ordnungszahl eine fehlerhafte Quelldatei verschleiern.
Nutzen Sie das Ergebnis zuverlässig für Daten und Planung
Fortlaufende Jahrestage eignen sich, wenn die Position im Jahr wichtig ist, Monatsgrenzen aber nicht. Umweltmessungen lassen sich saisonal gruppieren, Fertigungsdaten kompakt als Produktionstag kennzeichnen und Berichte als einheitliche Jahresfolgen darstellen. Auch Vergleiche innerhalb desselben Jahres werden einfacher. Die ursprüngliche Datumsangabe sollte jedoch erhalten bleiben, sobald Datensätze mehrere Jahre umfassen: Tag 32 kommt jedes Jahr vor. Speichern Sie deshalb das Jahr neben der Ordnungszahl, wenn Identität oder Sortierung eine Jahresgrenze überschreiten. Beachten Sie bei wiederkehrenden Ereignissen, dass Schaltjahre alle Werte nach dem 28. Februar verschieben; ein festes Jubiläum kann je nach Jahr unterschiedliche Nummern haben. Umgekehrt kann dieselbe Nummer rund um Februar ein anderes Datum bezeichnen. Die API kostet $0.002 je Anfrage; im Browser läuft dieselbe deterministische Berechnung lokal und benötigt weder Netzwerkdaten noch Standort- oder Zeitzoneneinstellungen.
Anwendungsfälle
Jährliche Beobachtungen indexieren
Überführen Sie datierte Wetter-, Landwirtschafts- oder Labormesswerte für saisonale Analysen in eine einheitliche Jahresposition.
Kennzeichnungen von Produktionstagen prüfen
Vergleichen Sie die in Fertigung, Logistik oder Chargenunterlagen verwendete Ordnungszahl mit dem ursprünglichen Datum.
Datumswerte für Berichte vorbereiten
Ergänzen Sie Datensätze und Diagramme um den Jahrestag, ohne von Länder- oder Zeitzoneneinstellungen einer Tabelle abhängig zu sein.
Häufige Fragen
In welchem Bereich liegt das Ergebnis?
Das Ergebnis reicht in einem gewöhnlichen Jahr von 1 bis 365 und in einem Schaltjahr von 1 bis 366.
Welches Datumsformat wird akzeptiert?
Verwenden Sie genau YYYY-MM-DD, einschließlich führender Nullen bei einstelligen Monaten und Tagen.
Wie werden Schaltjahre bestimmt?
Durch vier teilbare Jahre sind Schaltjahre; Jahrhundertjahre müssen zusätzlich durch vierhundert teilbar sein.
Was geschieht bei einem ungültigen Datum?
Bei einem falschen Format oder einem unmöglichen Kalenderdatum meldet die Anfrage eine ungültige Eingabe.
Hängt die Berechnung von einer Zeitzone ab?
Nein. Sie rechnet direkt mit Kalenderwerten und wandelt das Datum nicht in einen Zeitstempel um.
Was kostet eine API-Anfrage?
Jede API-Anfrage kostet $0.002. Dieselbe Berechnung kann auch lokal im Browser ausgeführt werden.
Für Entwickler — API-Zugang
Alles auf dieser Seite ist auch per API verfügbar. Dieser Abschnitt richtet sich an Teams, die es in ihre eigenen Systeme einbinden möchten; alle anderen nutzen einfach das Tool oben.
Endpunkt
Authentifizierung per Bearer-Token. Ein einziger POST stellt die Aufgabe in die Warteschlange; das Ergebnis erhalten Sie per Webhook oder über einen signierten Link.
Aufruf aus Ihrem Stack
curl -X POST https://api.kit.forhosting.com/astro/day-of-year \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"date":"2024-12-31"}'const res = await fetch("https://api.kit.forhosting.com/astro/day-of-year", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"date": "2024-12-31"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/astro/day-of-year",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"date": "2024-12-31"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/astro/day-of-year", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"date":"2024-12-31"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"date":"2024-12-31"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/astro/day-of-year", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Beispiel-Anfrage
{
"date": "2024-12-31"
}Beispiel-Antwort
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "astro.day_of_year",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}Die API arbeitet asynchron: Sie erhalten sofort eine task_id. Polling ist mit 1 Anfrage pro Sekunde erlaubt.
Preis
Der Preis steht auf der Seite – keine Tokens, keine Credits. Fehlgeschlagene Aufgaben werden nicht berechnet.
Fehler
| HTTP | Code | Bedeutung |
|---|---|---|
401 | unauthorized | Der API-Schlüssel fehlt oder ist ungültig – prüfen Sie den Authorization-Header (Bearer). |
402 | insufficient_balance | Ihr Guthaben reicht für diese Aufgabe nicht aus – Aufladungen verfallen nicht. |
404 | unknown_type | Unbekannter Aufgabentyp – prüfen Sie das Feld „type“ gegen den Katalog. |
429 | rate_limited | Zu viele Anfragen – warten Sie kurz; Polling ist mit 1 Anfrage pro Sekunde erlaubt. |