ISO-8601-Zeitdauer-Umrechner
Wandelt ISO-8601-Zeitdauerangaben (z. B. PT1H30M) in Sekunden um und umgekehrt. Praktisch zum Entschlüsseln von Formaten, die von der YouTube-API, AWS-Timeout-Einstellungen und Podcast-RSS-Feeds verwendet werden.
Gängige ISO-8601-Zeitdauer-Beispiele
Eine ISO-8601-Zeitdauer beginnt mit "P", gefolgt von Jahren/Monaten/Tagen, danach "T", gefolgt von Stunden/Minuten/Sekunden. Nachfolgend finden Sie gängige Beispiele und die Sekunden, die sie darstellen.
| Notation | Sekunden insgesamt | Anmerkung |
|---|---|---|
| PT30S | 30 | Ein typischer kurzer Timeout-Wert, wie 30 Sekunden |
| PT1H30M | 5,400 | 1 Stunde 30 Minuten – eine gängige Art, die Laufzeit eines Films oder die Länge eines YouTube-Videos anzugeben |
| P1D | 86,400 | 1 Tag (24 Stunden) – häufig für die Aufbewahrungsdauer von Logs oder die Ablaufzeit von Caches verwendet |
| P3Y6M4DT12H30M5S | 110,842,205 | Ein kombiniertes Beispiel, das 3 Jahren, 6 Monaten, 4 Tagen, 12 Stunden, 30 Minuten und 5 Sekunden entspricht (Jahre/Monate verwenden die Näherung von 365,25 Tagen) |
Tipps
- Zeitdauern mit Jahren oder Monaten haben in Wirklichkeit keine feste Anzahl von Sekunden, daher verwendet dieses Tool eine feste Näherung: 1 Jahr = 365,25 Tage und 1 Monat = 30,44 Tage.
- Wählen Sie beim Erzeugen eines Zeitdauer-Strings aus Sekunden den Modus "nur Tage/Stunden/Minuten/Sekunden", um die Jahres-/Monatsnäherung ganz zu vermeiden und ein exaktes, kalenderunabhängiges Ergebnis zu erhalten.
- Die YouTube Data API liefert die Videolänge im Feld contentDetails.duration im ISO-8601-Format zurück, sodass Sie sie direkt hier einfügen können, um die Gesamtsekunden zu erhalten.
- Cloud-Dienste wie AWS Lambda und API Gateway verwenden manchmal die ISO-8601-Zeitdauernotation für Timeout-Einstellungen, weshalb dieses Tool zur Überprüfung solcher Werte nützlich ist.
- Podcast-RSS-Feeds verwenden gelegentlich neben dem gängigeren hh:mm:ss-Format auch das ISO-8601-Zeitdauerformat im Tag itunes:duration.
Häufig gestellte Fragen
Übrigens – Warum gibt es in der Computerwelt ein eigenes Format für "Zeitdauern"?
ISO 8601 ist vor allem als internationaler Standard zur Darstellung von Datum und Uhrzeit bekannt, doch derselbe Standard definiert auch eine eigene Notation für "Zeitdauern" – die Zeitspanne zwischen zwei Zeitpunkten statt eines einzelnen Zeitpunkts. Ein Datum-Zeit-Wert beantwortet die Frage "wann", eine Zeitdauer die Frage "wie lange", und obwohl beide auf den ersten Blick ähnlich wirken, stellen sie grundlegend unterschiedliche Arten von Informationen dar. Genau um diese Unterscheidung klar zu halten, gibt es die eigene, mit "P" beginnende Notation.
Ein Grund, warum sich die Zeitdauernotation in der Praxis so bewährt hat, ist, dass sie Fehler durch missverstandene Einheiten beim Datenaustausch zwischen Systemen verhindert. Würde eine API-Antwort einfach nur die Zahl "30" zurückgeben, müsste der Aufrufer erst in der Dokumentation nachsehen, ob damit Sekunden oder Minuten gemeint sind. Bei "PT30S" reisen Wert und Einheit gemeinsam in einem einzigen String, sodass ein korrekt implementierter Parser sie nicht falsch interpretieren kann.
Genau deshalb liefert die YouTube Data API die Videolänge im ISO-8601-Format zurück: Ein String wie "PT4M13S" bedeutet eindeutig ein Video von 4 Minuten 13 Sekunden. Cloud-Plattformen wie AWS und Google Cloud verwenden gelegentlich dasselbe Format für Timeout- und Ablaufeinstellungen. Wenn Sie diese Notation also in einer YAML-Konfigurationsdatei oder einer JSON-Antwort entdecken, kann es helfen, sie durch dieses Tool laufen zu lassen, um sich die entsprechende Sekundenzahl besser vorstellen zu können.
Gleichzeitig hat der Standard eine interessante Eigenheit: Zeitdauern, die Jahre oder Monate enthalten, besitzen keine feste, absolute Länge. Dasselbe "P1Y" kann je nachdem, ob ein Schaltjahr hineinfällt, 365 oder 366 tatsächliche Tage bedeuten. Letztlich ist genau das der Grund, warum dieses Tool bei Umrechnungen mit Jahren oder Monaten auf eine Näherung zurückgreifen muss.