ForHosting KIT · Datum und Zeit

Gesamtdauer von Zeitintervallen

Fügen Sie eine Liste von Zeitintervallen ein und erhalten Sie die tatsächlich abgedeckte Zeit: 10:00–12:00 und 11:00–13:00 UTC ergeben 3 Stunden, nicht die 5 einer einfachen Summe. Überlappende oder aneinandergrenzende Intervalle werden vorher zusammengeführt. Kostenlos in Ihrem Browser.

  • Kostenlos
  • Läuft in Ihrem Browser
  • Ohne Anmeldung
  • Ihre Daten bleiben auf Ihrem Gerät
Nutzen Sie es über WebAPIE-MailTelegramApp bald

Betriebsteams, Abrechnungsskripte und SLA-Werkzeuge verwalten oft viele explizite Zeitintervalle, die sich überlappen: Rufbereitschaften, Gerätereservierungen, Ausfallfenster oder abrechenbare Sitzungen. Jedes Intervall naiv zu addieren zählt gemeinsame Minuten doppelt. Dieser Rechner für die Gesamtdauer von Zeitintervallen akzeptiert eine Liste von ISO-8601-Start- und Endpaaren, normalisiert jede Grenze mit reiner gregorianischer Arithmetik auf absolutes UTC, führt Intervalle zusammen, die sich überlappen oder berühren, und liefert die Länge der abgedeckten Spanne in Millisekunden, Sekunden und Stunden sowie eine Aufschlüsselung in Tage, Stunden, Minuten und Sekunden. Benachbarte Buchungen, die an einem Endpunkt zusammentreffen, werden zu einem durchgehenden Segment, sodass ein Kontaktpunkt der Länge null die Summe nie aufbläht.

Was abgedeckte Dauer nach dem Zusammenführen von Überlappungen bedeutet

Die abgedeckte Dauer misst die Vereinigung Ihrer Intervalle auf der absoluten Zeitlinie, nicht die Summe jeder Rohlänge. Wenn Alice von zehn bis zwölf und Bob von elf bis dreizehn am selben UTC-Tag bucht, ist die naive Summe fünf Stunden, während die abgedeckte Spanne nur drei Stunden von zehn bis dreizehn beträgt.

Dieser Endpunkt implementiert den klassischen Sortier-und-Merge-Algorithmus: Jeder Start und jedes Ende wird in UTC-Epochenmillisekunden umgerechnet, die Liste nach Startzeit sortiert, und jedes nächste Intervall verlängert entweder das aktuelle offene Segment, wenn es an oder vor dessen Ende beginnt, oder eröffnet ein neues Segment, wenn eine positive Lücke besteht. Sich berührende Intervalle, etwa Ende um zwölf und Start um zwölf, verschmelzen zu einem durchgehenden Block — dem korrekten Modell kontinuierlicher Zeit für Abdeckung, Belegung und SLA-Verfügbarkeit. Null- und invertierte Intervalle werden abgelehnt, weil sie keine positive offene Spanne definieren.

Eingabevertrag, ISO-Grenzen und Antwortform

Jedes Objekt muss die Zeichenkettenfelder start und end im ISO-8601-Format enthalten: vierstellige Jahreszahl, Monat und Tag, optional gefolgt von einer Tageszeit mit Stunden, Minuten, Sekunden und einem optionalen Sekundenbruchteil. Ein abschließendes Z bedeutet UTC; ein numerischer Offset wie plus null zwei Doppelpunkt null null oder minus null fünf Doppelpunkt null null verschiebt die lokalen Felder vor dem Zusammenführen in absolutes UTC. Nur-Datums-Werte gelten als Mitternacht UTC, damit Tagesfenster ohne erfundene Uhr funktionieren.

Optionale Nullfelder werden nie ausgegeben. Fehlgeschlagene Validierung wird nicht berechnet. Halten Sie die Liste unter dem veröffentlichten Maximum, damit Edge-Worker im Speicherbudget bleiben und realistische Batches abdecken.

Wo die Gesamtdauer ohne Doppelzählung hilft

Personal- und Rufbereitschaftsplattformen führen Schichtfragmente zusammen, damit Abrechnung und Ermüdungsregeln durchgehende Abdeckung statt überlappender Doppelstunden belasten. Buchungssysteme für Räume und Labore berechnen die Belegung einer Halle oder eines Instruments, wenn Reservierungen gestapelt sind, und speisen Auslastungs-Dashboards ohne benutzerdefinierte SQL-Fensterfunktionen in jedem Bericht. Reliability- und Statusseiten wandeln viele partielle Vorfallsintervalle in eine abgedeckte Ausfalldauer für die monatliche SLA-Rechnung um.

Projekt-Zeiterfassung konsolidiert doppelte Sitzungsprotokolle von Mobil- und Desktop-Clients, die dieselbe Arbeit mit leicht unterschiedlichen Uhren zweimal erfassten. Kombinieren Sie dieses Werkzeug mit der paarweisen Intervallschnittmenge, wenn Sie die Überlappung genau zweier Bereiche brauchen, oder mit Humanize-Dauer-Helfern, wenn Sie nur lesbaren Text aus einer Sekundenzahl brauchen.

Abdeckungssummen für Rufbereitschaft und Schichten

Führt überlappende Dienstfenster eines Teams zusammen, damit Abrechnung und Ermüdung abgedeckte Stunden statt doppelter paralleler Schichten nutzen.

Raum- und Ressourcenbelegung

Summiert die Vereinigung von Buchungen für eine Laborbank oder einen Besprechungsraum bei Überlappung, für Auslastungsberichte ohne rohes SQL.

SLA-Ausfallzeit aus partiellen Störungen

Verdichtet viele Vorfallsintervalle zu einer abgedeckten Ausfalldauer für monatliche Verfügbarkeitsrechnung und Statusseiten-Exporte.

Werden überlappende Minuten doppelt gezählt?

Nein. Intervalle werden vor dem Summieren sortiert und zusammengeführt, sodass gemeinsame Abdeckung nur einmal zur abgedeckten Gesamtdauer beiträgt.

Was passiert, wenn sich zwei Intervalle nur an einem Endpunkt berühren?

Sie verschmelzen zu einem durchgehenden Segment. Sich berührende Grenzen erzeugen keine Lücke und addieren keine Extra-Dauer jenseits der kombinierten Spanne.

Wie viele Intervalle kann ich eingeben?

Eins bis 200 in einer Liste. Jedes braucht Beginn und Ende, und der Beginn muss strikt vor dem Ende liegen; Intervalle ohne Länge oder mit vertauschten Grenzen werden abgelehnt.

Kann ich Daten ohne Uhrzeit eingeben?

Ja. Ein reines Datum gilt als Mitternacht UTC, was Auswertungen nach Tagen erleichtert. Uhrzeiten können Z für UTC oder einen numerischen Versatz tragen; vor dem Zusammenführen wird alles in UTC umgerechnet.

Wie sehe ich, welche Intervalle zusammengeführt wurden?

Das Ergebnis listet jeden zusammengeführten Abschnitt mit eigenem Beginn, Ende und eigener Dauer und zeigt, wie viele Intervalle Sie eingegeben haben und wie viele danach übrig sind. So können Sie die Summe prüfen.

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.

POSThttps://api.kit.forhosting.com/date/intervals-total-duration

Authentifizierung per Bearer-Token. Ein einziger POST stellt die Aufgabe in die Warteschlange; das Ergebnis erhalten Sie per Webhook oder über einen signierten Link.

curl -X POST https://api.kit.forhosting.com/date/intervals-total-duration \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"intervals":[{"start":"2020-01-01T10:00:00Z","end":"2020-01-01T12:00:00Z"},{"start":"2020-01-01T11:00:00Z","end":"2020-01-01T13:00:00Z"}]}'
{
  "intervals": [
    {
      "start": "2020-01-01T10:00:00Z",
      "end": "2020-01-01T12:00:00Z"
    },
    {
      "start": "2020-01-01T11:00:00Z",
      "end": "2020-01-01T13:00:00Z"
    }
  ]
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "date.intervals_total_duration",
  "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.

pro Anfrage$0.002

Der Preis steht auf der Seite – keine Tokens, keine Credits. Fehlgeschlagene Aufgaben werden nicht berechnet.

HTTPCodeBedeutung
401unauthorizedDer API-Schlüssel fehlt oder ist ungültig – prüfen Sie den Authorization-Header (Bearer).
402insufficient_balanceIhr Guthaben reicht für diese Aufgabe nicht aus – Aufladungen verfallen nicht.
404unknown_typeUnbekannter Aufgabentyp – prüfen Sie das Feld „type“ gegen den Katalog.
429rate_limitedZu viele Anfragen – warten Sie kurz; Polling ist mit 1 Anfrage pro Sekunde erlaubt.

Ungültige ISO-Formen, invertierte Bereiche und leere Listen scheitern mit invalid_input und werden nicht berechnet.

Was abgedeckte Dauer nach dem Zusammenführen von Überlappungen bedeutet

Die Antwort meldet input_count gegenüber merged_count, damit Sie die Konsolidierung sehen, und listet jedes zusammengeführte Segment mit eigenem Start, Ende und Dauer für Prüfpfade. Verwenden Sie total_duration_ms, wenn Sie eine ganzzahlige Primärgröße brauchen; total_duration_hours, wenn Dashboards eine auf zwölf stabile Dezimalstellen gerundete Stundenangabe erwarten; days, hours, minutes und seconds gemeinsam, wenn Sie eine lesbare Zeile ohne erneute Division anzeigen.

Eingabevertrag, ISO-Grenzen und Antwortform

Senden Sie einen JSON-Body mit einem Pflicht-Array intervals von einem bis zweihundert Objekten. Nach der Normalisierung muss start streng vor end liegen; gleiche oder invertierte Grenzen scheitern mit invalid_input und nennen den Intervallindex. Bei Erfolg enthält der Body input_count, merged_count, total_duration_ms, total_duration_seconds, total_duration_hours, die nichtnegativen Aufschlüsselungsfelder days, hours, minutes, seconds und milliseconds, eine kompakte formatierte Zeichenkette wie null d drei h null m null s, das geordnete Array merged_intervals mit ISO-UTC-Endpunkten und method mit dem Wert intervals_total_duration. Beispiel: zwei überlappende Stundenfenster von zehn bis zwölf und elf bis dreizehn UTC verschmelzen zu einem dreistündigen Segment und total_duration_ms von zehn Millionen achthunderttausend.

Wo eine API zur Gesamtdauer von Intervallen ihren Nutzen entfaltet

Weil die Implementierung pure parse der Stufe A ist, kostet jeder erfolgreiche Aufruf den veröffentlichten Grundpreis $0.002 ohne Modell-Tokens und ohne ausgehendes Netzwerk. Pinnen Sie merged_intervals und total_duration_ms in Tests, damit Refactors die Merge-Touch-Semantik nicht still ändern.

Wie berechne ich die Gesamtdauer überlappender Zeitintervalle?

Senden Sie JSON mit intervals als Array von {start, end} in ISO-8601. Die API führt Überlappungen in UTC zusammen und liefert total_duration_ms, total_duration_seconds, total_duration_hours und merged_intervals.

Welche Eingabefehler werden abgelehnt?

Leere oder fehlende intervals, Nicht-Objekte, ungültige ISO-Zeichenketten, unmögliche Kalendertage und start nicht streng vor end scheitern mit invalid_input und werden nicht berechnet.

Was kostet das Werkzeug zur Gesamtdauer von Zeitintervallen?

Das Browser-Werkzeug ist kostenlos. API-Anfragen nutzen vorausbezahltes KIT-Guthaben zu $0.002 pro erfolgreichem Aufruf; ungültige Eingabe wird nicht berechnet.

Vollständige KIT-Dokumentation lesen →