Tage zwischen Daten berechnen
Vom 15. Januar 2024 bis 10. März 2025 sind es 420 Tage, genau 60 Wochen oder 13 Kalendermonate und 23 Tage. Geben Sie zwei Daten ein und erhalten Sie alle drei Angaben, ganz ohne Zeitzonen. Kostenlos in Ihrem Browser.
- Kostenlos
- Läuft in Ihrem Browser
- Ohne Anmeldung
- Ihre Daten bleiben auf Ihrem Gerät
Im Browser ausführen – kostenlos
Rechenbeispiel
- Start
- 2024-01-15
- End
- 2025-03-10
- Richtung
- forward
- Tage mit Vorzeichen
- 420
- Tage
- 420
- Wochen
- 60
Dieser Datumsdifferenz-Rechner ermittelt den Abstand zwischen zwei Kalenderdaten, ohne Zeitzonen, Uhrzeiten oder Sommerzeitregeln einzubeziehen. Geben Sie zwei echte Daten im Format YYYY-MM-DD ein. Sie erhalten die genaue Tageszahl, den entsprechenden Wochenwert, eine Aufteilung in volle Wochen sowie eine Aufteilung in Kalendermonate und verbleibende Tage. Die Ergebnisse sind für gregorianische Daten der Jahre 0001 bis 9999 deterministisch. Wenn Sie die Daten vertauschen, bleibt der absolute Abstand gleich und die rückwärts gerichtete Reihenfolge wird eindeutig ausgewiesen.
Geben Sie zwei genaue Kalenderdaten ein
Tragen Sie das erste Datum in das Feld start und das zweite in end ein. Verwenden Sie strikt das Muster YYYY-MM-DD. Führende Nullen sind erforderlich: Schreiben Sie 2026-07-05 und nicht 2026-7-5.
Jeder Wert wird als tatsächliches gregorianisches Kalenderdatum geprüft und nicht nur mit einem Textmuster verglichen. Deshalb wird der 31. April abgelehnt, der 29.
Februar nur in einem Schaltjahr angenommen und ein 13. Monat kann niemals ein scheinbar plausibles Ergebnis erzeugen. Unterstützt werden die Jahre 0001 bis 9999.
Die Berechnung verwendet ausschließlich Kalendertage. Verborgene Uhrzeiten, lokale Zeitzonen, Zeitumstellungen und UTC-Umrechnungen spielen keine Rolle. Liegt end nach start, lautet die Richtung forward; liegt es davor, lautet sie backward.
Gleiche Daten ergeben same und bei allen Maßangaben null. Die primären Namen start und end sorgen zugleich dafür, dass Formulare und Beispiele leicht verständlich bleiben.
Deuten Sie Kalendermonate richtig
Monate haben unterschiedlich viele Tage. Der Rechner setzt einen Monat daher weder mit festen dreißig Tagen noch mit einer Durchschnittsdauer gleich. Das Feld months zählt vollständige Kalendermonatsschritte vom früheren zum späteren Datum.
Existiert der ursprüngliche Tag im Zielmonat nicht, wird auf dessen letzten gültigen Tag begrenzt. Dadurch bleiben Zeiträume mit Beginn am 29., 30. oder 31.
Anwendungsfälle
Projektzeitraum messen
Wandeln Sie Start- und Lieferdaten für die Planung in genaue Tage, volle Wochen und Kalendermonate um.
Abrechnungszeiträume prüfen
Zählen Sie vollständige Kalendermonate und Resttage zwischen Leistungsdaten, ohne jeden Monat mit dreißig Tagen anzusetzen.
Datumslogik validieren
Erzeugen Sie deterministische Abstände für Tests, Importe, Berichte und Systeme, die unmögliche Daten ablehnen müssen.
Häufige Fragen
Werden Anfangs- und Enddatum einschließlich gezählt?
Nein. Days misst verstrichene Kalendergrenzen; zwei aufeinanderfolgende Daten liegen daher einen Tag auseinander.
Wie werden die Wochen berechnet?
Eine Woche umfasst genau sieben Tage. Das Ergebnis enthält einen Dezimalwert, volle Wochen und verbleibende Tage.
Wie werden die Monate berechnet?
Gezählt werden vollständige Kalendermonatsschritte und anschließend die noch verbleibenden genauen Kalendertage.
Was passiert, wenn ich das spätere Datum zuerst eingebe?
Sie erhalten denselben Abstand in Tagen, Wochen und Monaten, und das Ergebnis zeigt die Richtung als rückwärts an. Zwei gleiche Daten ergeben in jeder Angabe null und die Richtung gleicher Tag.
Ändern Zeitzone oder Sommerzeit das Ergebnis?
Nein. Gerechnet wird nur mit Kalendertagen, ohne Uhrzeit, lokale Zeitzone, Zeitumstellung oder UTC-Umrechnung. Wer dieselben Daten eingibt, erhält überall auf der Welt dieselbe Antwort.
Verwandte Tools
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/calc2/date-difference \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"start":"2024-01-15","end":"2025-03-10"}'const res = await fetch("https://api.kit.forhosting.com/calc2/date-difference", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"start": "2024-01-15",
"end": "2025-03-10"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/calc2/date-difference",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"start": "2024-01-15",
"end": "2025-03-10"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/calc2/date-difference", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"start":"2024-01-15","end":"2025-03-10"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"start":"2024-01-15","end":"2025-03-10"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/calc2/date-difference", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Beispiel-Anfrage
{
"start": "2024-01-15",
"end": "2025-03-10"
}Beispiel-Antwort
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "calc2.date_difference",
"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. |
Technische Hinweise
Geben Sie zwei genaue Kalenderdaten ein
Für API-Integrationen werden auch Aliasse wie from und to akzeptiert.
Verstehen Sie die Tages- und Wochenangaben
Das Feld days enthält die absolute Anzahl der Mitternachtsgrenzen zwischen beiden Daten. Vom 1. Januar bis zum 2. Es gibt keine Annahmen zu Arbeitswochen, Wochenenden, Feiertagen oder inklusiver Zählung. Januar liegt beispielsweise ein Tag; ein Schalttag zählt genauso wie jeder andere echte Kalendertag. signed_days bewahrt die Reihenfolge: Der Wert ist positiv, wenn end später liegt, negativ, wenn end früher liegt, und null, wenn beide Eingaben übereinstimmen. Das Feld weeks teilt die absolute Tageszahl durch sieben und rundet den angezeigten Wert auf sechs Dezimalstellen. Dies eignet sich für Schätzungen und Berichte. Für eine exakte ganzzahlige Aufteilung nennt whole_weeks die vollständigen Siebentagegruppen, während remaining_days_after_weeks den Rest zwischen null und sechs ausgibt. Zusammen rekonstruieren beide Felder stets die Tageszahl: whole_weeks mal sieben plus Rest. Gemessen wird ein verstrichener Kalenderzeitraum, der sich für Zeitpläne, Dauern, Testdaten und konsistente API-Berechnungen eignet.
Deuten Sie Kalendermonate richtig
Januar verlässlich definiert. remaining_days_after_months nennt die genaue Zahl der Kalendertage, die nach diesen vollständigen Monaten übrig bleibt. Dieses Wertepaar bildet eine kalenderbezogene Aufteilung. days bleibt dagegen der universelle exakte Abstand und weeks die Umrechnung in Siebentageeinheiten. Bei vertauschten Eingaben beginnt die Monatsaufteilung mit dem chronologisch früheren Datum, damit die absoluten Mengen konsistent bleiben; direction und signed_days zeigen weiterhin die Reihenfolge. Verwenden Sie days für Fristen, whole_weeks für Arbeitsblöcke und months samt Rest für Abonnements, Jahrestage, Betriebszugehörigkeit oder andere kalenderbasierte Zeiträume.
Technische Fragen
Was kostet eine API-Anfrage?
Jede API-Anfrage kostet $0.002. Der Rechner lässt sich im Browser auch kostenlos lokal ausführen.
Was geschieht bei einem ungültigen Datum?
Die Anfrage schlägt mit invalid_input fehl, wenn ein Wert falsch formatiert oder kein echtes gregorianisches Datum ist.