Datumsdifferenz und Altersrechner
Ermitteln Sie den genauen Abstand zweier Daten, in Tagen insgesamt sowie in Jahren, Monaten und Tagen, oder das Alter zu einem Stichtag: Vom 31. Januar bis 29. Februar 2024 sind es ein Monat und null Tage. 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
- Berechnen
- Abstand zwischen zwei Daten
- Startdatum oder Geburtsdatum
- 2024-01-01
- Enddatum oder Stichtag
- 2024-01-01
- Tage insgesamt
- 0
- Jahre
- 0
- Monate
- 0
- Tage
- 0
Viele suchen die Anzahl der Tage zwischen zwei Daten und ein verlässliches Alter in Jahren, Monaten und Tagen. Dieses Werkzeug beantwortet beides nur mit bürgerlichen Kalenderregeln: ohne Zeitzonen, ohne Werktage und ohne versteckte Rundung. Sie erhalten Gesamttage, eine vorzeichenbehaftete Aufschlüsselung in Jahre, Monate und Tage sowie das geordnete Paar der Berechnung.
Reine Kalendertage, ohne Zeitzonen und Rundung
Viele suchen die Zahl der Tage zwischen zwei Daten oder ein verlässliches Alter in Jahren, Monaten und Tagen. Dieser Rechner beantwortet beides nur mit den Regeln des bürgerlichen Kalenders: keine Zeitzonen, keine Sommerzeit, keine Arbeitstage und keine versteckte Rundung. Jede Eingabe ist ein reiner Kalendertag. Ungültige Tage wie der 29. Februar 2023 werden abgelehnt. Die Gesamttage zählen den Starttag nicht mit, deshalb ergibt zweimal dasselbe Datum null Tage. Liegt das Ende vor dem Anfang, bleibt Ihre Reihenfolge erhalten und das Ergebnis wird negativ.
Wie Monate und das Alter gezählt werden
Die Aufteilung nutzt echte Kalendermonate und hält das Monatsende fest: Ein Monat nach dem 31. Januar 2024 ist der 29. Februar 2024, kein erfundener Märztag. Würde ein Monat über das Enddatum hinausgehen, geht der Rechner einen Monat zurück und meldet die restlichen ganzen Tage. Deshalb sind es vom 31. Januar bis zum 29. Februar 2024 ein Monat und null Tage, bis zum 28. Februar dagegen null Monate und 28 Tage. Das Alter ist dieselbe Rechnung mit Geburtsdatum und Stichtag, sodass es nie der Datumsdifferenz widerspricht. Geben Sie keinen Stichtag an, gilt das heutige Datum Ihres Geräts.
Nur Kalenderdaten — ohne Uhr und ohne Zeitzone
Jede Eingabe ist ein Kalendertag im Format JJJJ-MM-TT. Die Berechnung konsultiert weder Stunden noch Sommerzeit noch die Serveruhr für die Differenz selbst. Ungültige Tage wie 2023-02-29 oder 2024-04-31 werden abgelehnt statt stillschweigend angepasst, damit ein Tippfehler nicht zum falschen Jahrestag wird.
Jahre, Monate und Tage mit einer konsistenten Monatsendregel
Die Aufschlüsselung nutzt Kalendermonate mit Begrenzung auf den letzten gültigen Tag: Ein Monat zu 2024-01-31 ergibt 2024-02-29, nicht einen erfundenen Märztag. Wenn ein vorläufiger Monat das Enddatum überschreiten würde, geht der Algorithmus einen Monat zurück und zählt die verbleibenden ganzen Tage. Deshalb sind vom 2024-01-31 bis 2024-02-29 ein Monat und null Tage, und vom 2024-01-31 bis 2024-02-28 null Monate und achtundzwanzig Tage.
Gesamttage schließen den Starttag aus: dasselbe Datum ergibt null.
Vorzeichenbehaftete Ergebnisse bei umgekehrter Reihenfolge
Liegt das Enddatum vor dem Startdatum, tauscht das Werkzeug die Eingaben nicht stillschweigend. Es behält die übermittelte Reihenfolge in den Echofeldern und setzt ein negatives Vorzeichen auf Gesamttage und Aufschlüsselung. Diese Symmetrie deckt zukünftige Geburtstage, umgekehrte Intervalle und automatische Prüfungen ab, die ein verkehrtes Intervall ohne zweiten Codepfad erkennen müssen.
Anwendungsfälle
Tage zwischen Projektmeilensteinen
Messen Sie exklusive Kalendertage zwischen Start und Frist, ohne Wochenenden, Feiertage oder Zeitzonen einzumischen.
Bürgerliches Alter für Formulare und Berechtigung
Berechnen Sie Jahre, Monate und Tage gegen ein festes Bezugsdatum, damit Prüfungen und Exporte reproduzierbar bleiben.
Jahrestage und Schalttagsgrenzen
Behandeln Sie Geburtstage am 29. Februar und Monatsendpaare mit derselben Clamp-Regel wie gewöhnliche Monate.
Häufige Fragen
Ist die Tageszählung inklusiv oder exklusiv?
Exklusiv zum Starttag. Dasselbe Datum ergibt null Gesamttage; der nächste Kalendertag ergibt eins.
Wie wird das Monatsende behandelt?
Monate werden mit Begrenzung auf den letzten gültigen Tag des Zielmonats addiert und korrigiert, wenn das Zwischendatum das Enddatum überschreitet. Verbleibende ganze Tage vervollständigen die Aufschlüsselung.
Was gilt für den 29. Februar in einem Nicht-Schaltjahr?
Der Jahrestag von 2024-02-29 bis 2025-02-28 ist ein Jahr, null Monate und null Tage nach der Clamp-Regel. Ungültige Eingaben wie 2023-02-29 werden abgelehnt.
Worin unterscheidet sich das von Arbeitstagen?
Diese Fähigkeit zählt die natürliche Kalenderdifferenz und das bürgerliche Alter. Arbeitstage und Feiertage gehören zu einem anderen Werkzeug und gelten hier nicht.
Ist der Rechner auf Desktop und Mobilgerät kostenlos?
Die Seite läuft lokal und kostenlos in Desktop- und Mobilbrowsern.
Was passiert, wenn das Enddatum vor dem Startdatum liegt?
Die Daten werden nicht still vertauscht. Die eingegebene Reihenfolge bleibt erhalten, und die Gesamttage sowie Jahre, Monate und Tage bekommen ein negatives Vorzeichen. So erkennen Sie einen umgekehrten Zeitraum sofort.
Was geschieht mit einem ungültigen Datum wie dem 29. Februar 2023?
Es wird abgelehnt, statt still auf einen gültigen Tag verschoben zu werden, damit aus einem Tippfehler kein falscher Jahrestag wird. Dasselbe gilt zum Beispiel für den 31. April 2024.
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/dev/date-diff \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"date_from":"2024-01-31","date_to":"2024-02-29"}'const res = await fetch("https://api.kit.forhosting.com/dev/date-diff", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"date_from": "2024-01-31",
"date_to": "2024-02-29"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/dev/date-diff",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"date_from": "2024-01-31",
"date_to": "2024-02-29"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/dev/date-diff", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"date_from":"2024-01-31","date_to":"2024-02-29"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"date_from":"2024-01-31","date_to":"2024-02-29"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/dev/date-diff", 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_from": "2024-01-31",
"date_to": "2024-02-29"
}Beispiel-Antwort
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "dev.date_diff",
"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.
Limits
year_min | 1 |
year_max | 9999 |
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
Nur Kalenderdaten — ohne Uhr und ohne Zeitzone
So bleibt dasselbe Datenpaar im kostenlosen Browserwerkzeug und in der API stabil.
Differenzmodus und Altersmodus teilen dasselbe Orakel
Numerisch ist das Alter dieselbe Funktion wie die Differenz mit anderen Feldnamen, sodass ein Alter mit fester Referenz nicht von der Differenz desselben Paares abweichen kann. Der Differenzmodus vergleicht date_from mit date_to und liefert total_days, years, months, days, sign und das geordnete Paar. Der Altersmodus nutzt birthdate und ein explizites reference_date für deterministische Ergebnisse; fehlt die Referenz im kostenlosen Werkzeug, gilt das lokale Kalenderdatum des Geräts.
Integrationsbeispiele
Automatische Intervallprüfungen
Rufen Sie die API in einer Pipeline auf und speichern Sie total_days zusammen mit der vorzeichenbehafteten Aufschlüsselung im Audit-Protokoll.
Technische Fragen
Kann das Ergebnis negativ sein?
Ja. Liegt das Enddatum vor dem Startdatum, tragen total_days und die Felder Jahre-Monate-Tage ein negatives Vorzeichen, ohne die übermittelten Werte zu tauschen.