Nüchternheit-Rechner
Geben Sie den ersten Tag Ihrer Nüchternheit und das heutige Datum ein und sehen Sie die Zeit in vollen Jahren, Monaten und Tagen: Vom 15. Januar 2020 bis zum 25. Juli 2026 sind es 6 Jahre, 6 Monate und 10 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
- Datum der Abstinenz
- 2020-01-15
- Aktuelles Datum
- 2026-07-25
- Jahre
- 6
- Monate
- 6
- Tage
- 10
- Tage gesamt
- 2.383
Ein Nüchternheit-Rechner beantwortet eine Kalenderfrage, die Menschen in der Genesung, Sponsoren und Wellness-Anwendungen täglich stellen: bekannt der Tag, an dem Alkohol, Drogen oder eine andere Substanz aus dem Bild traten, wie viele ganze Jahre, Monate und Tage bis zu einem gewählten Stichtag vergangen sind.
Wie die Nüchternheitszeit gezählt wird
Die Nüchternheitszeit ist eine Spanne im Kalender, keine Stoppuhr. Gezählt wird vom ersten Tag durchgehender Nüchternheit bis zu einem Stichtag, den Sie selbst wählen: zuerst die vollen Jahre, dann die übrigen Monate, zuletzt die restlichen Tage. Genau diese Aufteilung steht auch auf Jubiläumsmünzen und Karten in Selbsthilfegruppen. Vom 15. Januar 2020 bis zum 25. Juli 2026 sind es so 6 Jahre, 6 Monate und 10 Tage. Uhrzeit und Zeitzone spielen keine Rolle, es zählen nur die Kalendertage. So eignet sich das Ergebnis für eine Münze, eine Karte oder das nächste Gespräch mit Ihrer Begleitperson.
Typische Stolpersteine beim Zählen
Der häufigste Unterschied betrifft den ersten Tag: Manche Gruppen nennen ihn Tag eins, dieser Rechner zählt dagegen ausschließend, sodass Beginn und Stichtag am selben Tag null ergeben. Schaltjahre folgen der bekannten Regel mit vier, hundert und vierhundert Jahren. Wer am 29. Februar 2024 begonnen hat, kommt am 28. Februar 2025 auf ein Jahr, weil der Tag auf das Monatsende rückt, und am 1. März 2025 auf ein Jahr und einen Tag. Liegt das Startdatum nach dem Stichtag, gibt es kein Ergebnis statt einer negativen Zeitspanne.
Was vergangene Nüchternheit in bürgerlichen Jahren, Monaten und Tagen bedeutet
Vergangene Nüchternheit ist eine bürgerliche Kalenderspanne, keine Stoppuhr. Menschen in der Genesung wollen gewöhnlich dieselbe Aufschlüsselung wie eine Chip-Versammlung: wie viele ganze Jahre, dann restliche Monate, dann restliche Tage, gezählt vom ersten Kalendertag durchgehender Nüchternheit bis zu einem gewählten Stichtag. Die bürgerliche Aufschlüsselung addiert Kalendermonate ab dem Startdatum, klemmt den Tag, wenn der Zielmonat kürzer ist (so wird der 31.
Januar plus ein Monat zum letzten Februartag, einschließlich des 29. Februar in einem Schaltjahr), setzt die Monatszahl zurück, wenn dieses geklemmte Datum den Stichtag überschießt, und nennt schließlich die restlichen ganzen Tage. Schaltjahre folgen der bekannten Regel von vier, einhundert und vierhundert, sodass ein Start am 29.
Februar 2024 den 28. Februar 2025 als ein Jahr mit geklemmtem Tag erreicht und den 1. März 2025 als ein Jahr und einen Tag.
Die einschließende Zählung, die jenen ersten Kalendertag «einen Tag nüchtern» nennen würde, ist eine Versammlungskonvention, nicht dieser Vertrag.
Eingabevertrag, die Regel des künftigen Starts und die Form der Antwort
Der Stichtag ist Pflicht, weil diese Engine reines parse ist: sie liest nie eine Wanduhr, konstruiert nie ein Date-Objekt und befragt nie eine Zeitzone, sodass eine Zukunftsprüfung nur gegen ein von Ihnen geliefertes Datum möglich ist. Jedes Feld wird als echter gregorianischer Tag in den Jahren eins bis neuntausendneunhundertneunundneunzig geprüft, einschließlich der Schalttagsregeln, sodass Werte wie der 31. April, der 29.
Optionale Ausgabeschlüssel werden weggelassen statt auf null gesetzt. Stellen Sie den Zahlen Ihren eigenen Text zur Seite, wenn Sie eine Chip-Inschrift wollen; dieser Endpunkt macht nur die Kalenderarithmetik und gibt weder Versammlungsskripte noch medizinischen Rat noch eine Diagnose einer Substanzgebrauchsstörung aus.
Anwendungsfälle
Genesungs-Chips und Jahrestagskarten
Geben Sie den Nüchternheitsbeginn und das Datum der Feier ein, um Jahre, Monate und Tage auf Chip, Karte oder Medaille zu drucken, ohne Februar von Hand zu zählen.
Sponsor-Rückfragen und Versammlungsbeiträge
Berechnen Sie eine stabile Phrase der vergangenen Zeit für eine Rückfrage oder einen Beitrag aus demselben Start und dem heutigen Kalendertag, einschließlich Nullspannen am selben Tag.
Häufige Fragen
Was geschieht, wenn das Nüchternheitsdatum nach dem Stichtag liegt?
Vergangene Nüchternheit ist undefiniert, wenn das Startdatum später als der Stichtag ist, und jener Fehler wird nicht berechnet.
Wie werden Schalttage wie der 29. Februar behandelt?
Schaltjahre folgen der gregorianischen Regel 4 / 100 / 400. Das Addieren von Kalendermonaten klemmt auf den letzten Tag des Zielmonats, sodass der 29. Februar plus zwölf Monate in einem Gemeinjahr der 28. Februar wird.
Warum zeigt mein erster Tag null Tage an?
Weil ausschließend gezählt wird: Sind Startdatum und Stichtag gleich, lautet das Ergebnis null Jahre, Monate und Tage. Manche Gruppen zählen diesen ersten Tag als Tag eins, ihre Zahl liegt daher um eins höher.
Zeigt der Rechner auch die Gesamtzahl der Tage?
Ja. Neben Jahren, Monaten und Tagen erhalten Sie die Zahl der vollen Tage zwischen beiden Daten. Vom 15. Januar 2020 bis zum 25. Juli 2026 sind das 2383 Tage.
Was passiert, wenn der nächste Monat kürzer ist?
Der Tag wird auf das Monatsende gesetzt. Wer am 31. Januar begonnen hat, erreicht einen Monat am letzten Februartag, in einem Schaltjahr also am 29. Februar.
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/health/sobriety \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"sobriety_date":"2020-01-15","current_date":"2026-07-25"}'const res = await fetch("https://api.kit.forhosting.com/health/sobriety", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"sobriety_date": "2020-01-15",
"current_date": "2026-07-25"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/health/sobriety",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"sobriety_date": "2020-01-15",
"current_date": "2026-07-25"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/health/sobriety", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"sobriety_date":"2020-01-15","current_date":"2026-07-25"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"sobriety_date":"2020-01-15","current_date":"2026-07-25"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/health/sobriety", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Beispiel-Anfrage
{
"sobriety_date": "2020-01-15",
"current_date": "2026-07-25"
}Beispiel-Antwort
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "health.sobriety",
"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
Senden Sie zwei gregorianische Kalenderdaten im Format YYYY-MM-DD. sobriety_date ist der Beginn der durchgehenden Nüchternheit, und current_date ist der Stichtag, weil diese Engine niemals eine Wanduhr liest. Die Antwort nennt die vergangenen Jahre, Monate und Tage, die ausschließliche Zählung total_days und eine kurze Phrase elapsed, die Sie auf einen Chip oder eine Karte drucken können. Fällt das Nüchternheitsdatum nach dem Stichtag, scheitert die Aufgabe mit invalid_input und wird nicht berechnet.
Was vergangene Nüchternheit in bürgerlichen Jahren, Monaten und Tagen bedeutet
Dieser Rechner behandelt beide Enden als gregorianische Daten ohne Tageszeit, sodass ein Start 2020-01-15 und ein Stichtag 2026-07-25 sechs Jahre, sechs Monate und zehn Tage sind, mit einer ausschließlichen Zählung total_days der ganzen bürgerlichen Tage zwischen jenen zwei Mitternächten. Dieselbe Angabe in beiden Feldern ist eine gültige Nullspanne: stimmt sobriety_date mit current_date überein, liefert die Engine null Jahre, null Monate, null Tage und total_days von null, die ehrliche ausschließliche vergangene Zeit am Tag eins.
Eingabevertrag, die Regel des künftigen Starts und die Form der Antwort
Senden Sie per POST ein JSON-Objekt mit zwei Pflichtfeldern für den Kalender. sobriety_date ist der erste Tag durchgehender Nüchternheit als strenge Zeichenkette aus vierstelliger Jahreszahl, Bindestrich, zweistelligem Monat, Bindestrich und zweistelligem Tag; die Aliase start_date, sober_since und date_from werden angenommen, damit Tagebücher und Formulare ihre üblichen Namen behalten. current_date ist der Stichtag, der als heute oder als der Tag dient, dessen vergangene Zeit Sie berichten wollen; die Aliase as_of, as_of_date, today und date_to führen zur selben Analyse. Februar in einem Gemeinjahr, 13-01, leere Zeichenketten und Nicht-Zeichenketten mit invalid_input unter Nennung des Feldes scheitern. Fällt sobriety_date nach current_date, liegt der Start relativ zum Stichtag in der Zukunft und die Aufgabe scheitert mit invalid_input; vergangene Nüchternheit ist für einen noch nicht eingetretenen Start undefiniert, und jener Fehler wird nicht berechnet. Bei Erfolg spiegelt der Körper die normalisierten Zeichenketten sobriety_date und current_date, liefert ganze Zahlen years, months und days aus der bürgerlichen Aufschlüsselung, meldet total_days als ausschließliche Ordinaldifferenz und hängt elapsed an, eine druckbare Phrase mit korrekten Einzahl- und Mehrzahlformen, etwa '6 years, 6 months, 10 days' oder '1 year, 0 months, 1 day'.
Wo eine API für vergangene Nüchternheit sich lohnt, Preise und ehrliche Grenzen
Genesungs-Chips, Jahrestagskarten und Sponsor-Rückfragen sind die übliche Aufgabe: Sie kennen das Startdatum bereits und wollen eine stabile Zeile Jahre-Monate-Tage, die Sie vorlesen oder drucken können, ohne Monate von Hand abzuziehen und Februar falsch zu treffen. Unterrichtsdemos bürgerlicher Dauer können den Starttag ändern und sofort eine Schalttagsklemme sehen, jene Kante, die ein Date-Objekt des Hosts nahe Zeitzonenversätzen falsch behandelt. Sie zählt weder Stunden noch Minuten noch Sekunden, modelliert keine Rückfallfenster und entscheidet nicht, ob ein Ausrutscher eine persönliche Uhr zurücksetzt: jene Politik gehört der Person und ihrem Programm. Verwechseln Sie diesen Endpunkt nicht mit einem allgemeinen Datumsunterschied-Werkzeug, das man sucht, wenn beliebige zwei Daten subtrahiert werden sollen: die Suchabsicht hier ist nüchterne Zeit ab einem Nüchternheitsstart, und der Fehlervertrag ist die Regel des künftigen Starts, die ein allgemeiner Subtrahierer nicht anpreisen würde. Wellness-Anwendungen, Genesungstagebücher und Begleit-Bots können denselben Vertrag aufrufen, statt Schaltjahrestabellen in jedem Client neu zu kodieren, und current_date aus dem lokalen Kalendertag der Person festnageln, damit Reisende, die eine Datumsgrenze kreuzen, weiterhin den gemeinten Tag sehen. Vorausbezahlte API-Aufrufe nutzen KIT-Guthaben zu $0.002 pro erfolgreichem Element; Validierungsfehler verbrauchen nie Guthaben. Dies ist eine Kalenderheuristik, kein diagnostisches Medizinprodukt und kein Ersatz für ein Genesungsprogramm, eine Klinik oder Notfallversorgung. Halten Sie Anfragen klein, pinnen Sie die gelieferten years, months, days und total_days in Tests, und Sie erhalten reproduzierbare vergangene Nüchternheit für Aufgabenprüfer, LMS-Plugins und Edge-Worker, ohne eine eigene Kalenderbibliothek aufzustellen.
Integrationsbeispiele
Wellness-Anwendungen und Genesungstagebücher
Betten Sie vergangene Nüchternheit über die API in eine Anwendung oder ein Tagebuch ein und übergeben Sie current_date aus dem lokalen Tag der Person, damit Schaltjahre stimmig bleiben.
Technische Fragen
Wie zählt der Nüchternheit-Rechner Jahre, Monate und Tage?
Er analysiert sobriety_date und current_date als gregorianische YYYY-MM-DD-Werte, nimmt die ausschließliche Ganztagsdifferenz als total_days und nennt dann bürgerliche Jahre, Monate und Resttage durch Kalendermonatsaddition mit Klemme auf kurzen Monaten.
Warum muss current_date gesendet werden, statt automatisch heute zu verwenden?
Die Engine liest niemals eine Wanduhr oder eine Zeitzone, sodass das kostenlose Widget und die API identisch bleiben. Liefern Sie den gemeinten Stichtag; die Aliase as_of, as_of_date, today und date_to werden angenommen.
Was kostet eine Nüchternheitsberechnung?
Das Browser-Werkzeug ist kostenlos. API-Anfragen nutzen vorausbezahltes KIT-Guthaben zu $0.002 pro erfolgreichem Aufruf; ungültige Daten und ein künftiger Start werden nicht berechnet.