Monatszähler
Von Januar 2020 bis Juni 2024 liegen 53 ganze Monate. Geben Sie nur Jahr und Monat jedes Datums ein, ganz ohne Tag, und erhalten Sie die Monatszahl für einen Mietvertrag, eine Betriebszugehörigkeit, ein Abo oder ein Projekt. 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
- Startjahr
- 2.020
- Startmonat
- 1
- Endjahr
- 2.024
- Endmonat
- 6
- Monate
- 53
- Anzahl der Monate
- 53
Ein Monatszähler beantwortet eine engere Frage als ein vollständiger Datumsabstand: Wenn nur Jahr und Monat zweier Kalenderdaten bekannt sind, wie viele ganze Monate liegen dazwischen? Genau diese Zahl suchen Menschen, wenn sie einen Mietvertrag bepreisen, die Betriebszugehörigkeit zählen, ein Abonnement planen oder ein Projektfenster in Abrechnungsperioden umrechnen.
Was eine ganze Monatszahl zwischen zwei Jahr-Monat-Daten bedeutet
Ein Kalendermonat ist ein benannter Platz im bürgerlichen Jahr — von Januar bis Dezember — und keine feste Tageszahl. Wenn jemand fragt, wie viele Monate zwischen zwei Daten liegen, und nur Jahr und Monat jedes Datums kennt, verlangt er weder Resttage noch Schalttagsanpassungen noch ein Alter in Jahren-Monaten-Tagen. Er will die ganze Lücke auf dem Jahr-Monat-Raster.
Diese Lücke ist die Differenz zweier ordinaler Monatsindizes: zwölfmal das Jahr plus die Monatsnummer. Ziehen Sie den Startindex vom Endindex ab und Sie erhalten die vorzeichenbehaftete ganze Monatszahl. Von Januar 2020 bis Januar 2021 sind es zwölf Monate; von Januar 2020 bis Februar 2020 ist es ein Monat; dasselbe Jahr und derselbe Monat ergeben null.
Drehen Sie das Paar um, wechselt das vorzeichenbehaftete Ergebnis das Vorzeichen, während die absolute Monatszahl gleich bleibt. Das ist dieselbe Arithmetik, die Gehaltsabrechnungen für abgeschlossene Abrechnungsperioden nutzen, und dieselbe Identität, die eine Mietklausel meint, wenn sie von «einer Laufzeit von vierundzwanzig Monaten ab März 2024» spricht. Weil der Tag des Monats nie geliefert wird, hängt das Ergebnis nicht davon ab, ob ein Monat achtundzwanzig oder einunddreißig Tage hat, und es klemmt keine Monatsenddaten, wie es ein tagesbewusster Addierer tun muss.
Das ist eine Eigenschaft der Suchabsicht, kein fehlendes Tagesfeld: Der Monatszähler ist das Werkzeug, das Sie öffnen, wenn der Tag unerheblich oder unbekannt ist.
Wo ein Monatszähler seinen Nutzen erweist
Wohnungs- und Facility-Teams zählen Monate zwischen einem Einzugs-Jahr-Monat und einem Auszugs-Jahr-Monat, wenn der Vertrag in Kalendermonaten und nicht in genauen Tagen formuliert ist. Personalwerkzeuge melden die Zugehörigkeit als vollendete Monate von einem Einstellungs-Jahr-Monat bis zu einem Prüfungs-Jahr-Monat, ohne einen fehlenden Monatstag zu erfinden. Abrechnungsstellen für Abonnements und SaaS wandeln ein Planfenster in eine Monatszahl um, bevor sie einen Monatssatz anwenden.
Projektleitungen machen aus einem Startmonat und einem Liefermonat eine Dauer, die in ein Gantt oder ein Festpreisangebot passt. Ungültige Eingaben werden nicht berechnet.
Anwendungsfälle
Miet- und Pachtlaufzeiten
Zählen Sie ganze Monate von einem Einzugs-Jahr-Monat bis zu einem Auszugs-Jahr-Monat, wenn der Vertrag in Kalendermonaten steht, nicht in genauen Tagen.
Betriebszugehörigkeit in Monaten
Melden Sie vollendete Monate von einem Einstellungs-Jahr-Monat bis zu einem Prüfungs- oder Austritts-Jahr-Monat, ohne einen fehlenden Monatstag zu erfinden.
Abo- und Projektfenster
Machen Sie aus dem Startmonat eines Plans und dem Endmonat eine Abrechnungsperiodenzahl, oder aus dem Auftaktmonat und dem Liefermonat eine Projektdauer.
Häufige Fragen
Was geschieht bei einem ungültigen Monat oder Jahr?
Monate müssen ganze Zahlen von 1 bis 12 sein und Jahre ganze Zahlen von 1 bis 9999. Solche Fehlschläge werden nicht berechnet.
Braucht der Monatszähler den Tag des Monats?
Nein. Die Suchabsicht ist allein das Jahr-Monat-Raster. Für tagesbewusste Spannen mit Resttagen nutzen Sie ein Datumsabstands-Werkzeug, das vollständige Kalenderdaten annimmt.
Was, wenn das Enddatum vor dem Startdatum liegt?
Dasselbe Paar in umgekehrter Reihenfolge kehrt nur das Vorzeichen von months um.
Wird der Startmonat mitgezählt?
Nein, der Zähler misst den Abstand zwischen beiden Monaten. Von Januar 2020 bis Februar 2020 ist es ein Monat, von Januar 2020 bis Januar 2021 sind es zwölf, und derselbe Monat im selben Jahr ergibt null.
Wofür brauche ich einen Monatszähler?
Für alles, was in Kalendermonaten statt in Tagen festgelegt ist: einen Mietvertrag vom Einzug bis zum Auszug, abgeschlossene Monate im Job für ein Gespräch, ein Abo in Abrechnungszeiträumen oder ein Projekt vom Start bis zur Lieferung.
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/life/month-counter \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"start_year":2020,"start_month":1,"end_year":2024,"end_month":6}'const res = await fetch("https://api.kit.forhosting.com/life/month-counter", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"start_year": 2020,
"start_month": 1,
"end_year": 2024,
"end_month": 6
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/life/month-counter",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"start_year": 2020,
"start_month": 1,
"end_year": 2024,
"end_month": 6
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/life/month-counter", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"start_year":2020,"start_month":1,"end_year":2024,"end_month":6}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"start_year":2020,"start_month":1,"end_year":2024,"end_month":6}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/life/month-counter", 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_year": 2020,
"start_month": 1,
"end_year": 2024,
"end_month": 6
}Beispiel-Antwort
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "life.month_counter",
"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
Diese Fähigkeit nimmt start_year, start_month, end_year und end_month entgegen, prüft jedes Jahr als ganze Zahl von 1 bis 9999 und jeden Monat als ganze Zahl von 1 bis 12 und wendet die Identität months gleich Endjahr minus Startjahr, mal zwölf, plus Endmonat minus Startmonat an. Die vorzeichenbehaftete Differenz ist months; der Absolutwert ist month_count. Ein ungültiger Monat oder ein ungültiges Jahr scheitert mit invalid_input und wird nicht berechnet.
Eingabevertrag, Prüfung und die Antwort, die Sie erhalten
Jahre müssen zwischen 1 und 9999 einschließlich liegen. Monate müssen zwischen 1 und 12 einschließlich liegen. Numerische Zeichenketten wie "2020" oder "06" werden akzeptiert; Wahrheitswerte, Objekte, leere Zeichenketten und Nichtganzzahlen nicht. Die Engine liest niemals die Systemuhr, sodass zwei Aufrufer, die dieselben vier ganzen Zahlen senden, stets dasselbe Objekt erhalten. Senden Sie vier erforderliche ganze Zahlen: start_year und start_month für die Grenze, die Sie als Start behandeln, und end_year und end_month für die andere Grenze. Die Aliasse from_year, begin_year, from_month, begin_month, to_year, until_year, to_month und until_month legen sich auf dieselben vier Felder, damit ein Formular oder ein Skript die Namen nutzen kann, die bereits in seinem Schema stehen. Hat eines der beiden Daten einen ungültigen Monat oder ein ungültiges Jahr, scheitert die Aufgabe mit invalid_input, das das Feld nennt — solche Fehlschläge werden nicht berechnet. Bei Erfolg wiederholt der Körper die vier geprüften ganzen Zahlen, liefert months als vorzeichenbehaftete Differenz, liefert month_count als absolute Monatszahl und wiederholt die Formel, damit ein Client die Identität neben der Antwort drucken kann. Beispiel: start_year 2020, start_month 1, end_year 2024, end_month 6 ergibt months 53 und month_count 53, weil vier Jahre achtundvierzig Monate sind und Januar bis Juni fünf weitere hinzufügen.
Wo ein Monatszähler seinen Nutzen erweist
Weil die Umsetzung reines Parse der Stufe A ist, kostet jeder erfolgreiche Aufruf den veröffentlichten Grundpreis $0.002, ohne Modell-Token und ohne ausgehendes Netz. Belassen Sie beide Jahr-Monat-Paare in der Anfrage, pinnen Sie month_count in Tests und Sie erhalten eine reproduzierbare Monatszahl für Mieten, Zugehörigkeit und Abrechnung, ohne eine eigene Kalenderbibliothek aufzustellen.
Technische Fragen
Wie berechnet der Monatszähler ganze Monate zwischen zwei Daten?
Er nimmt start_year, start_month, end_year und end_month und liefert months = (end_year − start_year) × 12 + (end_month − start_month). month_count ist der Absolutwert dieser vorzeichenbehafteten Differenz.
Was kostet der Monatszähler?
Das Browser-Werkzeug ist kostenlos. API-Anfragen nutzen vorausbezahltes KIT-Guthaben zu $0.002 je erfolgreichem Aufruf; ungültige Eingabe wird nicht berechnet.