Arbeitstage berechnen
Diese Funktion berechnet die Anzahl der Arbeitstage zwischen zwei Daten, wobei Samstag und Sonntag automatisch ausgeschlossen werden und zusätzlich eine eigene Liste von Feiertagen angegeben werden kann. Gedacht für alle, die eine Lieferfrist, eine SLA-Frist oder eine Bearbeitungszeit korrekt in Werktagen statt in Kalendertagen berechnen müssen.
Im Browser ausführen – kostenlos
Warum Kalendertage die falsche Grundlage sind
Eine Frist von „zehn Tagen“ ab einem Freitag sieht in Kalendertagen anders aus als in Arbeitstagen, sobald zwei Wochenenden dazwischenliegen. Vertragliche Fristen, Lieferzusagen und viele SLA-Vereinbarungen beziehen sich ausdrücklich auf Arbeitstage, nicht auf Kalendertage – ein Unterschied, der bei falscher Berechnung schnell zu einer verpassten Frist führt.
Start- und Enddatum eingeben
Sie geben ein Startdatum und ein Enddatum ein und erhalten die Anzahl der dazwischenliegenden Arbeitstage, wobei Samstage und Sonntage ausgeschlossen werden – etwa um zu prüfen, wie viele Arbeitstage zwischen einem Bestelldatum und einem zugesagten Liefertermin liegen. Zusätzlich wird die reine Anzahl der Kalendertage desselben Zeitraums ausgegeben, sodass Sie die volle Dauer und die tatsächlich gearbeitete Zeit direkt vergleichen können.
Eigene Feiertage berücksichtigen
Da gesetzliche Feiertage je nach Bundesland unterschiedlich sind, lässt sich eine eigene Liste von Feiertagsdaten hinterlegen, die zusätzlich zu Samstag und Sonntag ausgeschlossen werden. So passt die Berechnung zur tatsächlichen Situation Ihres Standorts, statt eine feste, möglicherweise falsche Feiertagsliste vorauszusetzen.
Kostenlos, lokal, per API automatisierbar
Die Berechnung läuft direkt in Ihrem Browser. Für die automatisierte Fristberechnung in einer eigenen Bestell- oder Ticketverwaltung steht derselbe Aufruf über die API zur Verfügung, für $0.002 pro Anfrage.
Anwendungsfälle
Liefertermin in Arbeitstagen prüfen
Die Weber Metallbau GmbH sagt einem Kunden eine Lieferung innerhalb von zehn Arbeitstagen zu und zählt die Arbeitstage zwischen Bestelldatum und zugesagtem Termin, unter Ausschluss der Wochenenden, um zu prüfen, ob die Frist eingehalten wird.
SLA-Frist für eine Support-Anfrage
Ein IT-Dienstleister muss Support-Tickets innerhalb von drei Arbeitstagen beantworten und zählt für ein am Freitagnachmittag eingegangenes Ticket die Arbeitstage bis zum vereinbarten Fristende, um zu sehen, wie viel Zeit unter Ausschluss des Wochenendes tatsächlich bleibt.
Zahlungsziel unter Berücksichtigung von Feiertagen
Eine Buchhaltung prüft, ob eine Rechnung mit vierzehn Tagen Zahlungsziel über einen gesetzlichen Feiertag im jeweiligen Bundesland fällt, und passt die interne Mahnfrist entsprechend an.
Häufige Fragen
Werden Feiertage automatisch berücksichtigt?
Automatisch ausgeschlossen werden Samstag und Sonntag. Feiertage können Sie zusätzlich als eigene Liste angeben, da sie je nach Bundesland unterschiedlich sind.
Kann ich eine Anzahl Arbeitstage zu einem Datum addieren?
Nein. Die Funktion zählt die Arbeitstage zwischen zwei Daten, die Sie angeben, Wochenenden und angegebene Feiertage ausgeschlossen, und nennt zusätzlich die Kalendertage desselben Zeitraums.
Zählen Start- und Enddatum selbst mit?
Ja, sowohl das Start- als auch das Enddatum werden mitgezählt, sofern sie auf einen Arbeitstag fallen und nicht in Ihrer Feiertagsliste stehen.
Werden meine eingegebenen Daten übertragen?
Nein. Die Berechnung erfolgt direkt in Ihrem Browser.
Muss ich mich anmelden?
Nein. Es gibt derzeit keine Konten – die Nutzung im Browser ist kostenlos und ohne Limit.
Was kostet die Nutzung über die API?
$0.002 pro Anfrage. Im Browser bleibt die Funktion unabhängig davon kostenlos.
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/business-days \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"start":"2026-07-01","end":"2026-07-31"}'const res = await fetch("https://api.kit.forhosting.com/dev/business-days", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"start": "2026-07-01",
"end": "2026-07-31"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/dev/business-days",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"start": "2026-07-01",
"end": "2026-07-31"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/dev/business-days", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"start":"2026-07-01","end":"2026-07-31"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"start":"2026-07-01","end":"2026-07-31"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/dev/business-days", 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": "2026-07-01",
"end": "2026-07-31"
}Beispiel-Antwort
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "dev.business_days",
"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. |