Zeit/Zahlen
ISO-8601-Dauer-Parser
Eine Zeichenkette wie „P3Y6M4DT12H30M5S" in eine lesbare Aufschlüsselung umwandeln, oder eine solche Zeichenkette aus Jahren/Monaten/Tagen/Stunden/Minuten/Sekunden zusammenstellen.
Ein leeres Feld = 0; Nullfelder werden nicht in die Zeichenkette aufgenommen. Die Wochenkomponente (P4W) wird nur beim Parsen unterstützt — zum Erstellen Tage verwenden.
Eine ISO-8601-Dauer (z. B. P3Y6M4DT12H30M5S) ist eine kompakte, eindeutige Art, eine Zeitspanne zu schreiben, die von vielen APIs und Datenformaten genutzt wird, aber ohne Analyse schwer lesbar ist. Dieses Tool übersetzt einen solchen String in normale Sprache und lässt dich einen aus einzelnen Feldern zusammenbauen.
So verwendest du es
- Parsen: Füge einen ISO-Dauer-String ein, um Jahre, Monate, Tage, Stunden, Minuten und Sekunden separat und verständlich aufgeschlüsselt zu erhalten.
- Erstellen: Gib die benötigten Dauerkomponenten ein — das Tool baut einen gültigen ISO-8601-String zusammen.
- Der Buchstabe T vor dem Zeitteil (Stunden/Minuten/Sekunden) ist erforderlich und wird bei Bedarf automatisch hinzugefügt.
Typische Anwendungsfälle
- Ein Dauerfeld aus einer API-Antwort lesen (ein Abo, eine Mietdauer, ein Timeout), das in diesem Format vorliegt.
- Einen korrekt formatierten ISO-8601-String für eine Anfrage erstellen, die eine Dauer genau in diesem Format erwartet.
- Debuggen, warum der Parser einer Drittanbieter-API eine von Hand gebaute Dauer ablehnt — Abgleich mit der exakten Syntax des Standards.
Was du wissen solltest
Das führende P steht für „Period" und ist erforderlich, genau wie das T, das Tage vom Zeitteil trennt.
Der Basisstandard definiert kein Vorzeichen für Dauern — negative Dauern (für „vor") werden nur von bestimmten Implementierungen als inoffizielle Erweiterung unterstützt.
Artikel zu diesem Tool: ISO 8601 Duration: wie man eine Dauer im Standardformat schreibt
Häufig gestellte Fragen
Was bedeutet eine Zeichenfolge wie P3Y6M4DT12H30M5S?
Dies ist das Standard-ISO-8601-Dauerformat: P steht für "Period" (Zeitraum), gefolgt von Jahren/Monaten/Tagen bis zum Buchstaben T, danach kommen Stunden/Minuten/Sekunden. In diesem Beispiel sind das 3 Jahre, 6 Monate, 4 Tage, 12 Stunden, 30 Minuten und 5 Sekunden.
Wie unterscheidet sich eine ISO-Dauer von einer einfachen Dauer in Stunden?
Anders als feste Einheiten (wie im Dauerrechner) sind die Komponenten "Jahre" und "Monate" hier kalenderbasiert und haben keine feste Anzahl an Sekunden — ihre genaue Länge hängt von den konkreten Daten ab, auf die sie angewendet werden.
Wird das Wochenformat P4W unterstützt?
Ja, aber nur beim Parsen einer bestehenden Zeichenfolge. Beim Erstellen Ihrer eigenen Zeichenfolge müssen Wochen in Tagen ausgedrückt werden, da ISO 8601 nicht erlaubt, Wochen mit anderen Komponenten in einer einzigen Zeichenfolge zu kombinieren.
Kann ich Bruchteile von Sekunden oder Minuten angeben?
Ja, der Standard erlaubt einen Dezimalteil nur bei der letzten Komponente der Zeichenkette — zum Beispiel sind PT1.5S (1,5 Sekunden) oder PT1H30.5M (1 Stunde 30,5 Minuten) gültig, ein Dezimalteil bei einer nicht abschließenden Komponente jedoch nicht.
Gibt es negative ISO-Dauern?
Der grundlegende ISO-8601-Standard definiert kein Vorzeichen für Dauern, aber manche Implementierungen (einschließlich dieses Tools) unterstützen ein vorangestelltes Minuszeichen für „vor" oder eine umgekehrte Dauer — eine verbreitete, wenn auch inoffizielle Erweiterung.