ISO 8601
| ||||
| Titel | Datum und Uhrzeit - Darstellung für den Informationsaustausch | |||
| Teile | 2; Teil 1: Grundlegende Regeln (ISO 8601-1:2019-02) Teil 2: Erweiterungen (ISO 8601-2:2019-02) | |||
| Erstveröffentlichung | Juni 1988 | |||
| Letzte Ausgabe | Februar 2019 | |||
| Berichtigung | 8601-1 Amendment 1: Technical corrections (2022-10) ISO 8601-2:2019/Amendment 1: Canonical expressions, extensions to time scale components and date time arithmetic (2025-01) | |||
| Klassifikation | 01.140.30 | |||
| Übernahme von | ISO 2014:1976 ISO 2015:1976 ISO 2711:1973 ISO 3307:1975 ISO 4031:1978 | |||
| Nationale Normen | DIN ISO 8601-1 ÖNORM ISO 8601-1/-2 | |||
| Variable | Darstellung | Werte | Erläuterung |
|---|---|---|---|
| Y | YYYY | 0000…9999 | Jahr, auch negativ oder null oder per Konvention verlängert |
| M | MM | 01…12 | Monat |
| w | ww | 01…53 | Woche des Jahres |
| D | D | 1…7 | Tag der Woche, Montag bis Sonntag |
| DD | 01…31 | Tag des Monats | |
| DDD | 001…366 | Tag des Jahres, 366 nur in Schaltjahren | |
| h | hh | 00…24 | Stunde, 24 nur in 24:00 als Endzeit |
| m | mm | 00…59 | Minute |
| s | ss | 00…60 | Sekunde, 60 nur als Schaltsekunde |
| f | f | (0…9)+ | dezimale Bruchteile, in der Regel von Sekunden beliebiger Genauigkeit |
Verwendete Zeichen
[Bearbeiten | Quelltext bearbeiten]| Zeichen | Erläuterung |
|---|---|
| T | Trenner von Datum und Uhrzeit (time) |
| W | Präfix für Kalenderwoche (week) |
| − (Minuszeichen) | verbindliches Vorzeichen für Jahre vor der Epoche |
| + (Pluszeichen) | optionales Vorzeichen für Jahre nach der Epoche |
| - (Bindestrich) | Trenner von Datumselementen (oft optional, aber empfohlen) |
| : (Doppelpunkt) | Trenner von Zeitelementen (oft optional, aber empfohlen) |
| , (Komma) | Trenner von Ganzzahl und dezimalem Bruchteil |
| . (Punkt) |
| Zeichen | Erläuterung |
|---|---|
| R | Präfix für Angabe einer Wiederholung (von englisch repetition) |
| P | Präfix für Angabe einer Zeitspanne (period) |
| Y | Suffix für Jahre (year) |
| M | Suffix für Monate (month) |
| W | Suffix für Wochen (week) |
| D | Suffix für Tage (day) |
| T | Präfix für Zeiten, u. a. zur Unterscheidung von Monat und Minute |
| H | Suffix für Stunden (hour) |
| M | Suffix für Minuten (minute) |
| S | Suffix für Sekunden (second) |
| , | Trenner von Ganzzahl und dezimalem Bruchteil (fraction) |
| . | |
| / | Trenner von Start- und Enddatum bzw. -zeitdauer (bis) |
Datum
[Bearbeiten | Quelltext bearbeiten]| positives Jahr | negatives Jahr | |||
|---|---|---|---|---|
| Format | Beispiel | Format | Beispiel | |
| YYYY-MM-DD | 2004-07-11 | −YYYY-MM-DD | −0333-07-11 | |
| YYYYMMDD | 20040711 | −YYYYMMDD | −03330711 | |
| YYYY-MM | 2004-07 | −YYYY-MM | −0333-07 | |
| YYYY | 2004 | −YYYY | −0333 | |
| YYYY-Www | 2004-W28 | −YYYY-Www | −0333-W28 | |
| YYYYWww | 2004W28 | −YYYYWww | −0333W28 | |
| YYYY-Www-D | 2004-W28-7 | −YYYY-Www-D | −0333-W28-7 | |
| YYYYWwwD | 2004W287 | −YYYYWwwD | −0333W287 | |
| YYYY-DDD | 2004-193 | −YYYY-DDD | −0333-193 | |
| YYYYDDD | 2004193 | −YYYYDDD | −0333193 | |
Das Monat-Tag-Format wurde vor ISO 8601:1988 in ISO 2014 kodifiziert, das Woche-Tag-Format samt Wochenzählung in ISO 2015 und das Tag-Format in ISO 2711.
Tageszeit
[Bearbeiten | Quelltext bearbeiten]| Format | Beispiel |
|---|---|
| hh:mm:ss | 16:43:16 |
| hhmmss | 164316 |
| hh:mm | 16:43 |
| hhmm | 1643 |
| hh | 16 |
| hh:mm:ss,f | 16:43:16,2345 |

Beispiel
[Bearbeiten | Quelltext bearbeiten]Das Bild zeigt eine Darstellung mit einem Leerzeichen (statt T) als Trenner zwischen Datum und Zeit.
Dies ist gut lesbar, und solange immer die gleiche Schreibweise benutzt wird, kann das auch sortiert maschinell verarbeitet werden.[Anm 1]
Zeitzonen
[Bearbeiten | Quelltext bearbeiten]Laut Empfehlung wird nach einer zusammenhängenden Datums- und Zeitangabe die Differenz zur Koordinierten Weltzeit (UTC) angegeben. Das Format ist „±hh:mm“, „±hhmm“ oder „±hh“ und berücksichtigt damit sowohl die Zeitzone als auch die Sommerzeit. Als spezieller Wert kann auch „Z“ oder „z“ für UTC (+00:00) eingetragen werden. Um aus einer lokalen Zeitangabe die Zeit in UTC zu bestimmen, muss der Wert nach einem „+“ subtrahiert, der nach einem „−“ addiert werden.
| Beispiel | Erläuterung |
|---|---|
| 2007-08-31T16:47+00:00 | 16:47 Uhr am 31. August 2007 in der Zeitzone UTC. |
| 2007-12-24T18:21Z | 18:21 Uhr am 24. Dezember 2007, ebenfalls in der Zeitzone UTC. |
| 2008-02-01T09:00:22+05 | 09:00:22 Uhr am 1. Februar 2008 in einer Zeitzone, die UTC 5 Stunden voraus ist, beispielsweise in der in Pakistan festgelegten Zonenzeit. Dies entspricht 2008-02-01T04:00:22Z, also 04:00:22 Uhr am 1. Februar 2008 in der Zeitzone UTC. |
| 2009-01-01T12:00:00+01:00 | 12:00:00 Uhr am 1. Januar 2009 in Wien (MEZ). |
| 2009-06-30T18:30:00+02:00 | 18:30:00 Uhr am 30. Juni 2009 in Wien (MESZ – Sommerzeit). |
| 2010-01-01T12:00:00.001+01:00[3] | Eine Millisekunde nach 12:00:00 Uhr am 1. Januar 2010 in Wien (MEZ). |
Zeitspannen
[Bearbeiten | Quelltext bearbeiten]Eine Zeitspanne wird in dem Format [Startdatum]/P[YY][MM][WW][DD][T[hH][mM][s[.f]S]] dargestellt. Das P zeigt dabei als anführender Informationsbuchstabe an, dass eine Zeitspanne (englisch period) folgt. Zeitspannen, die einen Uhrzeitanteil enthalten, werden wie in der Angabe des Anfangszeitpunktes durch ein T abgegrenzt. Daher sind die Angaben der Monate und Minuten (M) unterscheidbar. Für die Formatierung des Anfangszeitpunktes gelten dieselben Regeln wie für die normale Datumsangabe.
Alternativ können, wenn möglich, Start- und Enddatum getrennt von einem Schrägstrich (/) angegeben werden. Der Standard erlaubt auch die Verwendung von zwei Kurzstrichen (--) statt des Schrägstrichs.
- Beispiele
- 2005-08-09T18:31:42/P3Y6M4DT12H30M17S: bestimmt eine Zeitspanne von 3 Jahren, 6 Monaten, 4 Tagen, 12 Stunden, 30 Minuten und 17 Sekunden ab dem 9. August 2005 „kurz nach halb sieben Abends“.
- P3Y6M4DT12H30M17S: die gleiche Zeitspanne wie das erste Beispiel, allerdings ohne ein bestimmtes Startdatum zu definieren
- P1D: „Bis morgen zur jetzigen Uhrzeit.“
- PT24H: „Bis in 24 Stunden ab jetzt.“, was im Falle einer Zeitumstellung vom vorherigen Beispiel abweicht
- 2005-08-09/P14W: „Die 14 Wochen beginnend ab dem 9. August 2005.“
- 2005-08-09/2005-08-30: „Vom 9. zum 30. August 2005.“
- 2005-08-09--2005-08-30: „Vom 9. zum 30. August 2005.“
- 2005-08-09/30: „Vom 9. bis 30. August 2005.“
Wiederholung von Zeitspannen
[Bearbeiten | Quelltext bearbeiten]Um die Wiederholung einer Zeitspanne zu bezeichnen, wird dieser ein Ausdruck im Format R[n]/ vorangestellt, wobei R (für englisch repeated) die Wiederholung anzeigt und [n] die Anzahl der Wiederholungen angibt. Wird [n] ausgelassen oder der Wert -1 verwendet, gilt die Wiederholung unbegrenzt. Ein Wert von 0 steht für „keine Wiederholung“.
Bei Zeitspannen mit Wiederholung und einem Startzeitpunkt startet die erste Zeitspanne mit dem Startzeitpunkt, bei Zeitspannen mit Endzeitpunkt endet die letzte Wiederholung mit dem Endzeitpunkt.
- Beispiele
- R2/P1D: Die zwei Zeitspannen „bis morgen“ und „von morgen bis übermorgen“ (jeweils zur jetzigen Uhrzeit).
- R4/2005-08-09/P1D: „Viermal ein Tag ab dem 9. August 2005.“
Nationale Implementierungen
[Bearbeiten | Quelltext bearbeiten]Die Implementierung in den verschiedenen Staaten erfolgt nach nationalen Standards.
Geltungsbereich der Jahreszahlen
[Bearbeiten | Quelltext bearbeiten]Die Norm lässt nur die Jahreszahlen von 1583 (dem Jahr nach Einführung des gregorianischen Kalenders) bis 9999 ohne weitere Vereinbarung zu.
- Die Interpretation von Daten vor dem 15. Oktober 1582 ist nicht durch die Norm festgelegt, sie ist daher nur von der getroffenen Vereinbarung abhängig.
- Sowohl zur Verwendung der Jahreszahlen 0000 bis 1582 als auch für die Ausdehnung des Darstellungsformates, mit der ein größerer Bereich von Jahreszahlen darstellbar wird, sind Vereinbarungen der Datenaustauschpartner erforderlich.
- Bei ausgedehnter Darstellung ist die Angabe eines Vorzeichens, auch des positiven, zwingend erforderlich. Die Anzahl etwa zusätzlicher numerischer Stellen ist zu vereinbaren. Beispielsweise ist bei vereinbarten zwei zusätzlichen Stellen der 12. April 1985 im erweiterten Format als +001985-04-12 darzustellen.
- Möglich ist das Vereinbaren der Anwendung des üblichen julianischen Kalenders, die Norm sieht alternativ den proleptischen gregorianischen Kalender vor.
Proleptischer gregorianischer Kalender
[Bearbeiten | Quelltext bearbeiten]ISO 8601 sieht die Möglichkeit vor, den gregorianischen Kalender auch für die Zeit vor seiner Einführung am 15. Oktober 1582 anzuwenden, allerdings nur bei entsprechender Vereinbarung zwischen den Datenaustauschpartnern. In diesem proleptischen gregorianischen Kalender existiert im Gegensatz zum julianischen Kalender (siehe Jahr null) das Jahr mit der Bezeichnung „0000“, das ein Schaltjahr ist. In einer ausgedehnten Darstellung nach ISO 8601 entspricht in diesem Fall „–0001“ dem julianischen Jahr 2 v. Chr. usw.
Weblinks
[Bearbeiten | Quelltext bearbeiten]- Date and time format – ISO 8601. Internationale Organisation für Normung, Februar 2019 (englisch).
- „A summary of the international standard date and time notation“ von Markus Kuhn (englisch)
- Extended Date/Time Format (EDTF) Specification. Library of Congress, Februar 2019 (englisch, All of the features of EDTF are supported by Part 2 [of ISO 8601:2019]).
- Linkkatalog zum Thema ISO 8601 bei curlie.org (ehemals DMOZ) (englisch)
- G. Klyne, C. Newman: RFC: – Date and Time on the Internet: Timestamps. Juli 2002 (für die Benutzung im Internet vorgesehene Teilmenge von ISO 8601, englisch).
- Microsoft Learn: Standard date and time format strings
- Microsoft Learn: datetime (Transact-SQL)
Anmerkungen
[Bearbeiten | Quelltext bearbeiten]- ↑ Kompliziert wird eine maschinelle chronologische Sortierung bei einer Sommer-/Winterzeit-Umstellung sowohl bei der Angabe der Zeitzone (in Deutschland +01:00 / +02:00), als auch die Benennung 02:30 A gegenüber 02:30 B. Speziell beim Vergleich von Timestamps verschiedener Rechner (in möglicherweise unterschiedlichen Zeitzonen) wird oft einfachheitshalber UTC benutzt. Zur Vereinheitlichung der Schreibweise des Trennzeichens zwischen Datum und Zeit kann ein
Tmittels einem Regulären Ausdruck maschinell durch ein Leerzeichen ersetzt werden.
Einzelnachweise
[Bearbeiten | Quelltext bearbeiten]- ↑ DIN 5008:2020-03 Schreib- und Gestaltungsregeln für die Text- und Informationsverarbeitung, Abschnitt 11.4 Datumsangaben, Teilabschnitt 11.4.1 Numerische Schreibung.
- ↑ workflowy.zendesk.com: Support ISO 8601 Date formatting for display of dates and times.
- ↑ Microsoft Learn: UTC date/time string with complete representation for calendar date.
