ISO 8601 - ISO 8601

Aktuelles Datum und Uhrzeit gemäß ISO 8601 [ Aktualisieren ]
Datum 2021-10-18
Datum und Uhrzeit in UTC 2021-10-18T09:41:33+00:00
2021-10-18T09:41:33Z
20211018T094133Z
Woche 2021-W42
Woche mit Wochentag 2021-W42-1
Datum ohne Jahr --10-18
Ordentliches Datum 2021-291

ISO 8601 ist ein internationaler Standard den weltweiten Austausch und Kommunikation abdeckt Datum - und Zeit in Beziehung stehenden Daten. Es wird behauptet , durch die Genfere -basierte International Organization for Standardization (ISO) und wurde erstmals im Jahr 1988 mit Updates im Jahr 1991, 2000, 2004 und 2019. Die Standard - Ziele , um ein gut definierte und eindeutigen Verfahren zur Darstellung von Kalenderdaten veröffentlicht und Uhrzeiten in der weltweiten Kommunikation, insbesondere um eine Fehlinterpretation numerischer Datums- und Uhrzeitangaben zu vermeiden, wenn solche Daten zwischen Ländern mit unterschiedlichen Konventionen zum Schreiben numerischer Datums- und Uhrzeitangaben übertragen werden.

Im Allgemeinen gilt ISO 8601 für diese Darstellungen und Formate: Datumsangaben im gregorianischen Kalender (einschließlich des proleptischen gregorianischen Kalenders); Zeiten, basierend auf dem 24-Stunden-Zeitnehmungssystem , mit optionalem UTC-Offset ; Zeitintervalle ; und Kombinationen davon. Die Norm weist keinem Element der dargestellten Daten/Uhrzeiten eine spezifische Bedeutung zu: Die Bedeutung eines Elements hängt vom Kontext seiner Verwendung ab. Dargestellte Datums- und Uhrzeitangaben dürfen keine Wörter verwenden, die keine festgelegte numerische Bedeutung innerhalb des Standards haben (also Jahresnamen im chinesischen Kalender ausschließen ) oder die keine Computerzeichen verwenden (ausschließlich Bilder oder Töne).

In Darstellungen, die dem Austauschstandard ISO 8601 entsprechen , werden Datum und Uhrzeit so angeordnet, dass der größte zeitliche Begriff (typischerweise ein Jahr) links und jeder nachfolgend kleinere Begriff rechts vom vorherigen Begriff platziert wird. Darstellungen müssen in einer Kombination aus arabischen Ziffern und den spezifischen Computerzeichen (wie "-", ":", "T", "W", "Z") geschrieben werden, denen innerhalb des Standards bestimmte Bedeutungen zugewiesen werden; das heißt, solche alltäglichen Deskriptoren von Datumsangaben (oder Teile von Datumsangaben) wie "Januar", "Donnerstag" oder "Neujahr" sind in Austauschdarstellungen innerhalb des Standards nicht zulässig.

Geschichte

Die erste Ausgabe des ISO 8601-Standards wurde 1988 als ISO 8601:1988 veröffentlicht. Er vereinheitlicht und ersetzt eine Reihe älterer ISO-Standards zu verschiedenen Aspekten der Datums- und Zeitnotation: ISO 2014 , ISO 2015 , ISO 2711 , ISO 3307 und ISO4031 . Es wurde durch eine zweite Ausgabe ISO 8601:2000 im Jahr 2000 ersetzt, durch eine dritte Ausgabe ISO 8601:2004, veröffentlicht am 1. Dezember 2004, und zurückgezogen und überarbeitet durch ISO 8601-1:2019 und ISO 8601-2:2019 am 25. Februar 2019. ISO 8601 wurde vom ISO Technical Committee TC 154 erstellt und steht unter dessen direkter Verantwortung .

ISO 2014, obwohl abgelöst, ist der Standard, der ursprünglich die rein numerische Datumsnotation in der höchst-zu-niedrigstwertigen Reihenfolge [JJJJ]-[MM]-[TT] einführte . Das ISO-Wochennummerierungssystem wurde in ISO 2015 eingeführt und die Identifizierung von Tagen nach Ordnungsdaten wurde ursprünglich in ISO 2711 definiert.

Die im Februar 2019 herausgegebene vierte Überarbeitung der Norm ISO 8601-1:2019 stellt leicht aktualisierte Inhalte der vorherigen Norm ISO 8601:2004 dar, während die neue ISO 8601-2:2019 verschiedene Erweiterungen wie Unsicherheiten oder Teile der # Erweitertes Datums- / Zeitformat (EDTF).

Geschichte der erschienenen Ausgaben
Name Beschreibung
ISO 8601: 1988 Datenelemente und Austauschformate — Informationsaustausch — Darstellung von Datum und Uhrzeit
ISO 8601: 1988/KOR 1: 1991 Datenelemente und Austauschformate — Informationsaustausch — Darstellung von Datum und Uhrzeit — Technische Berichtigung 1
ISO 8601: 2000 Datenelemente und Austauschformate — Informationsaustausch — Darstellung von Datum und Uhrzeit
ISO 8601: 2004 Datenelemente und Austauschformate — Informationsaustausch — Darstellung von Datum und Uhrzeit
ISO 8601-1:2019 Datum und Uhrzeit — Darstellungen für den Informationsaustausch — Teil 1: Grundregeln
ISO 8601-2:2019 Datum und Uhrzeit — Darstellungen für den Informationsaustausch — Teil 2: Erweiterungen

Allgemeine Grundsätze

  • Datums- und Uhrzeitwerte werden von der größten zur kleinsten Zeiteinheit sortiert: Jahr, Monat (oder Woche), Tag, Stunde, Minute, Sekunde und Sekundenbruchteil. Die lexikographische Reihenfolge der Darstellung entspricht somit der chronologischen, mit Ausnahme von Datumsdarstellungen mit negativen Jahren oder Zeitverschiebung. Dies ermöglicht eine natürliche Sortierung von Daten beispielsweise nach Dateisystemen.
  • Jeder Datums- und Zeitwert hat eine feste Anzahl von Stellen, die mit führenden Nullen aufgefüllt werden müssen .
  • Darstellungen können in einem von zwei Formaten erfolgen – einem Basisformat mit einer minimalen Anzahl von Trennzeichen oder einem erweiterten Format mit Trennzeichen, die zur besseren Lesbarkeit hinzugefügt wurden. In der Norm heißt es: "Das Grundformat sollte im Klartext vermieden werden ." Das Trennzeichen zwischen Datumswerten (Jahr, Monat, Woche und Tag) ist der Bindestrich , während der Doppelpunkt als Trennzeichen zwischen Zeitwerten (Stunden, Minuten und Sekunden) verwendet wird. Beispielsweise kann der 6. Tag des 1. Monats des Jahres 2009 eindeutig als "2009-01-06" im erweiterten Format oder einfach als "20090106" im Basisformat geschrieben werden.
  • Um die Genauigkeit zu verringern, kann eine beliebige Anzahl von Werten aus jeder der Datums- und Zeitdarstellungen entfernt werden, jedoch in der Reihenfolge vom niedrigsten zum höchsten Wert. "2004-05" ist beispielsweise ein gültiges ISO 8601-Datum, das den Mai (den fünften Monat) 2004 angibt. Dieses Format stellt weder den fünften Tag eines nicht spezifizierten Monats im Jahr 2004 dar, noch repräsentiert es eine Zeitspanne von 2004 bis 2005.
  • Falls für eine bestimmte Anwendung erforderlich, unterstützt die Norm die Addition eines Dezimalbruchs zum kleinsten Zeitwert in der Darstellung.

Termine

Oktober 2021
Woche Montag Di Heiraten Do Freitag Sa Sonne
W39 27 28 29 30 01 02 03
W40 04 05 06 07 08 09 10
W41 11 12 13 14 fünfzehn 16 17
W42 18 19 20 21 22 23 24
W43 25 26 27 28 29 30 31

Der Standard verwendet den Gregorianischen Kalender , der "als internationaler Standard für den zivilen Gebrauch dient".

ISO 8601:2004 legt ein Referenzkalenderdatum auf den Gregorianischen Kalender vom 20. Mai 1875 als Datum der Unterzeichnung der Convention du Mètre ( Meterkonvention ) in Paris fest (das explizite Referenzdatum wurde in ISO 8601-1:2019 entfernt). ISO-Kalenderdaten vor der Konvention sind jedoch immer noch mit dem gregorianischen Kalender bis zur offiziellen Einführung des gregorianischen Kalenders am 15. Oktober 1582 kompatibel.

Frühere Daten im proleptischen gregorianischen Kalender können im gegenseitigen Einvernehmen der Partner verwendet werden, die Informationen austauschen. Der Standard besagt, dass jedes Datum fortlaufend sein muss, so dass die Verwendung des Julianischen Kalenders dem Standard widerspricht (da die Daten zum Umschaltdatum nicht fortlaufend sind).

Jahre

YYYY
± J JJJJ

ISO 8601 schreibt mindestens eine vierstellige Jahreszahl [YYYY] vor, um das Jahr-2000-Problem zu vermeiden . Es stellt daher die Jahre 0000 bis 9999 dar, wobei das Jahr 0000 gleich 1 v. Chr . und alle anderen n . Chr . ist. Jahre vor 1583 werden jedoch vom Standard nicht automatisch zugelassen. Stattdessen dürfen "Werte im Bereich [0000] bis [1582] nur im gegenseitigen Einvernehmen der Partner im Informationsaustausch verwendet werden."

Zur Darstellung von Jahren vor 0000 oder nach 9999 erlaubt der Standard auch die Erweiterung der Jahresdarstellung , jedoch nur nach vorheriger Absprache zwischen Sender und Empfänger. Eine erweiterte Jahresdarstellung [± Y YYYY] muss eine vereinbarte Anzahl zusätzlicher Jahresziffern über das vierstellige Minimum hinaus haben und ihr muss ein + oder − Vorzeichen anstelle des gebräuchlicheren AD/BC (oder CE/ BCE ) Notation; gemäß Konvention wird 1 BC mit +0000 bezeichnet , 2 BC mit −0001 und so weiter.

Kalenderdaten

JJJJ-MM-TT oder JJJJMMTT
JJJJ-MM ( aber nicht JJJJMM)
Nur in der abgelösten Version ab 2000 erlaubt:
--MM-TT oder --MMDD

Kalenderdatumsdarstellungen haben die im nebenstehenden Feld gezeigte Form. [YYYY] bezeichnet ein vierstelliges Jahr, 0000 bis 9999. [MM] bezeichnet einen zweistelligen Monat des Jahres, 01 bis 12. [DD] bezeichnet einen zweistelligen Tag dieses Monats, 01 bis 31. Zum Beispiel , "5. April 1981" kann entweder als "1981-04-05" im erweiterten Format oder als "19810405" im Basisformat dargestellt werden .

Der Standard ermöglicht auch das Schreiben von Kalenderdaten mit reduzierter Genauigkeit. Zum Beispiel kann man "1981-04" schreiben , um "1981 April" zu bedeuten. Die Version von 2000 erlaubte es, "--04-05" zu schreiben , um "5. April " zu bedeuten, aber die Version von 2004 erlaubt es nicht, das Jahr auszulassen, wenn ein Monat vorhanden ist. Man kann einfach "1981" schreiben, um sich auf dieses Jahr zu beziehen, "198", um sich auf das Jahrzehnt von 1980 bis 1989 einschließlich zu beziehen, oder "19", um sich auf das Jahrhundert von 1900 bis einschließlich 1999 zu beziehen . Obwohl der Standard sowohl die Formate "YYYY-MM-DD" als auch YYYYMMDD für vollständige Kalender-Datumsdarstellungen zulässt, ist nur das YYYY-MM- Format zulässig , wenn der Tag [TT] weggelassen wird. Durch das Verbot von Datumsangaben in der Form JJJJMM vermeidet der Standard Verwechslungen mit der verkürzten Darstellung JJMMTT (immer noch häufig verwendet).

Wochendaten

JJJJ-Www oder YYYYWww
JJJJ-Www-D oder JJJJWwwD

Die Wochendatumsdarstellungen haben die Formate, die im nebenstehenden Kästchen gezeigt sind. [YYYY] gibt das Jahr der ISO-Wochennummerierung an, das sich geringfügig vom traditionellen gregorianischen Kalenderjahr unterscheidet (siehe unten). [Www] die Wochennummer mit dem Buchstaben Präfix W , von W01 bis W53. [D] ist die Wochentagsnummer von 1 bis 7, beginnend mit Montag und endend mit Sonntag.

Es gibt mehrere einander äquivalente und kompatible Beschreibungen der Woche 01:

  • die Woche mit dem ersten Donnerstag des Startjahres darin (die formale ISO-Definition),
  • die Woche mit dem 4. Januar drin,
  • die erste Woche mit der Mehrheit (vier oder mehr) ihrer Tage im Startjahr und
  • die Woche beginnend mit dem Montag im Zeitraum 29. Dezember - 4. Januar.

Wenn also der 1. Januar auf einen Montag, Dienstag, Mittwoch oder Donnerstag fällt, ist er in Woche 01. Wenn der 1. Januar auf einen Freitag, Samstag oder Sonntag fällt, ist er in Woche 52 oder 53 des Vorjahres (es gibt keine Woche 00). Der 28. Dezember ist immer die letzte Woche des Jahres.

Die Wochennummer kann durch Zählen der Donnerstage beschrieben werden: Woche 12 enthält den 12. Donnerstag des Jahres.

Das ISO-Wochen-Nummerierungsjahr beginnt am ersten Tag (Montag) der Woche 01 und endet am Sonntag vor dem neuen ISO-Jahr (also ohne Überschneidung oder Lücke). Es besteht aus 52 oder 53 vollen Wochen. Die erste ISO-Woche eines Jahres kann bis zu drei Tage haben, die tatsächlich im zu Ende gehenden gregorianischen Kalenderjahr liegen; bei drei sind es Montag, Dienstag und Mittwoch. Ebenso kann die letzte ISO-Woche eines Jahres bis zu drei Tage haben, die tatsächlich im beginnenden gregorianischen Kalenderjahr liegen; bei drei sind es Freitag, Samstag und Sonntag. Der Donnerstag jeder ISO-Woche liegt immer im Gregorianischen Kalenderjahr, das durch die ISO-Wochennummerierung gekennzeichnet ist.

Beispiele:

  • Montag, 29. Dezember 2008, steht geschrieben "2009-W01-1"
  • Sonntag, 3. Januar 2010, steht geschrieben "2009-W53-7"

Ordentliche Daten

YYYY-DDD oder YYYYDDD

Ein Ordinaldatum ist eine einfache Form für Fälle, in denen die willkürliche Natur von Wochen- und Monatsdefinitionen eher hinderlich als hilfreich ist, zum Beispiel beim Vergleich von Datumsangaben aus verschiedenen Kalendern. Wie oben dargestellt, gibt [YYYY] ein Jahr an. [DDD] ist der Tag des Jahres von 001 bis 365 (366 in Schaltjahren ). Zum Beispiel „1981.04.05“ ist auch „1981-095“ .

Dieses Format wird bei einfachen Hardwaresystemen verwendet, die ein Datumssystem benötigen, bei denen die Einbeziehung einer vollständigen Kalenderberechnungssoftware jedoch ein erhebliches Ärgernis sein kann. Dieses System wird manchmal als „Julian Date“ bezeichnet, aber dies kann eine Verwechslung mit dem astronomischen verursacht Julian Tag , eine sequentielle Zählung der Anzahl der Tage seit dem Tag 0 beginnend 1. Januar 4713 BC Greenwich Mittag, Julian proleptische Kalenders (oder Mittags auf ISO Datum −4713-11-24 , das den gregorianischen proleptischen Kalender mit dem Jahr 0000 verwendet).

Mal

hh:mm:ss.sss oder Thhmmss.sss
hh:mm:ss oder Thhmmss
hh:mm oder Thm
Thh

ISO 8601 verwendet das 24-Stunden-Uhrsystem . Ab ISO 8601-1:2019 ist das Basisformat T[hh][mm][ss] und das erweiterte Format T[hh]:[mm]:[ss]. Frühere Versionen haben das T (für die Zeit) in beiden Formaten weggelassen.

  • [hh] bezieht sich auf eine mit Nullen aufgefüllte Stunde zwischen 00 und 23.
  • [mm] bezieht sich auf eine mit Nullen aufgefüllte Minute zwischen 00 und 59.
  • [ss] bezieht sich auf eine mit Nullen aufgefüllte Sekunde zwischen 00 und 60 (wobei 60 nur verwendet wird, um eine zusätzliche Schaltsekunde zu bezeichnen ).

So kann eine Uhrzeit entweder als "T134730" im Basisformat oder als "T13:47:30" im erweiterten Format angezeigt werden . ISO 8601-1:2019 erlaubt das Weglassen des T im erweiterten Format, wie in "13:47:30", erlaubt aber nur das Weglassen des T im Basisformat, wenn bei Datumsausdrücken keine Mehrdeutigkeitsgefahr besteht.

Entweder die Sekunden oder die Minuten und Sekunden können aus Gründen der Kürze, aber verringerter Präzision aus den grundlegenden oder erweiterten Zeitformaten weggelassen werden; die resultierenden Zeitformate mit reduzierter Genauigkeit sind:

  • T[hh][mm] im Basisformat oder [hh]:[mm] im erweiterten Format , wenn Sekunden weggelassen werden.
  • T[hh], wenn Sekunden und Minuten weggelassen werden.

Ab ISO 8601-1:2019 darf Mitternacht nur noch als „00:00“ bezeichnet werden, was dem Beginn eines Kalendertages entspricht. Frühere Versionen des Standards erlaubten "24:00", was dem Ende eines Tages entspricht, aber dies wird von der Revision 2019 ausdrücklich untersagt.

In jeder dieser Darstellungen kann dem Zeitelement niedrigster Ordnung ein Dezimalbruch hinzugefügt werden. Ein Dezimalzeichen , entweder ein Komma oder ein Punkt (in Anlehnung an ISO 80000-1 gemäß ISO 8601:1-2019, die keine Präferenz vorschreibt, außer in internationalen Standards, aber mit einer Präferenz für ein Komma gemäß ISO 8601:2004) wird als Trennzeichen zwischen dem Zeitelement und seinem Bruch verwendet. Um "14 Stunden, 30 und eine halbe Minute" anzugeben, geben Sie keine Sekunden an. Stellen Sie es als "14:30,5", "T1430,5", "14:30,5" oder "T1430.5" dar. Die Anzahl der Dezimalstellen für den Dezimalbruch ist nicht begrenzt. Die Anzahl der Nachkommastellen muss jedoch von den kommunizierenden Parteien vereinbart werden. In Microsoft SQL Server beträgt die Genauigkeit eines Dezimalbruchs beispielsweise 3 für eine DATETIME, dh "yyyy-mm-ddThh:mm:ss[.mmm]".

Zeitzonenbezeichnungen

<Uhrzeit>Z
<Zeit>±hh:mm
<Zeit>±hhmm
<Uhrzeit>±hh

Zeitzonen werden in ISO 8601 als lokale Zeit (ohne Angabe des Standorts), als UTC oder als Offset von UTC dargestellt.

Ortszeit (unqualifiziert)

Wenn keine UTC-Beziehungsinformationen mit einer Zeitdarstellung angegeben werden, wird angenommen, dass die Zeit in Ortszeit ist. Es kann zwar sicher sein, bei der Kommunikation in derselben Zeitzone die Ortszeit anzunehmen, sie ist jedoch mehrdeutig, wenn sie bei der Kommunikation über verschiedene Zeitzonen hinweg verwendet wird. Selbst innerhalb einer einzigen geografischen Zeitzone sind einige Ortszeiten mehrdeutig, wenn in der Region Sommerzeit gilt . Es ist in der Regel vorzuziehen, eine Zeitzone (Zonenbezeichner) in der Notation des Standards anzugeben.

Koordinierte Weltzeit (UTC)

Wenn die Uhrzeit in UTC angegeben ist , fügen Sie direkt nach der Uhrzeit ein Z ohne Leerzeichen hinzu. Z ist der Zonenbezeichner für den Null-UTC-Offset. "09:30 UTC" wird daher als "09:30Z" oder "T0930Z" dargestellt. "14:45:15 UTC" wäre "14:45:15Z" oder "T144515Z".

Das Suffix Z in der ISO 8601-Zeitdarstellung wird manchmal als "Zulu-Zeit" bezeichnet, da derselbe Buchstabe zur Bezeichnung der Zulu-Zeitzone verwendet wird . Der ACP 121-Standard, der die Liste der militärischen Zeitzonen definiert, erwähnt jedoch keine UTC und leitet die "Zulu-Zeit" von der Greenwich Mean Time ab, die früher als internationaler ziviler Zeitstandard verwendet wurde. GMT wird von der wissenschaftlichen Gemeinschaft nicht mehr genau definiert und kann sich je nach Kontext entweder auf UTC oder UT1 beziehen .

Zeitverschiebungen von UTC

Der UTC-Offset wird in der Form ±[hh]:[mm], ±[hh][mm] oder ±[hh] an die Uhrzeit auf dieselbe Weise angehängt, wie 'Z' oben war.

Negative UTC-Offsets beschreiben eine Zeitzone westlich von UTC±00:00 , in der die bürgerliche Zeit hinter (oder früher) als UTC liegt, sodass der Zonenbezeichner wie "−03:00","−0300" oder "−03 ." aussieht ".

Positive UTC-Offsets beschreiben eine Zeitzone bei oder östlich von UTC±00:00 , wobei die bürgerliche Zeit gleich oder vor (oder später) als UTC ist, sodass die Zonenbezeichnung wie folgt aussieht: "+02:00","+0200 ", oder "+02".

Beispiele

  • "−05:00" für New York zur Standardzeit ( UTC-05:00 )
  • "−04:00" für New York bei Sommerzeit ( UTC-04:00 )
  • "+00:00" (aber nicht "−00:00") für London zur Standardzeit ( UTC±00:00 )
  • "+02:00" für Kairo ( UTC+02:00 )
  • "+05:30" für Mumbai ( UTC+05:30 )
  • "+14:00" für Kiribati ( UTC+14:00 )

Siehe Liste der UTC-Zeit-Offsets für andere UTC-Offsets .

Um einen negativen Offset darzustellen, spezifiziert ISO 8601 die Verwendung eines Minuszeichens . Wenn der Austauschzeichensatz begrenzt ist und kein Minuszeichen enthält, sollte der Bindestrich-Minus verwendet werden. ASCII hat kein Minuszeichen, daher wird sein Bindestrich-Minus-Zeichen (Code ist 45 dezimal oder 2D hexadezimal) verwendet. Wenn der Zeichensatz ein Minuszeichen hat, sollte dieses Zeichen verwendet werden. Unicode hat ein Minuszeichen und sein Zeichencode ist U+2212 (2212 hexadezimal); der Aufruf der HTML-Zeichenentität lautet &minus;.

Die folgenden Zeiten beziehen sich alle auf denselben Zeitpunkt: "18:30Z", "22:30+04", "1130−0700" und "15:00−03:30". Buchstaben der nautischen Zeitzone werden mit Ausnahme von Z nicht verwendet. Um die UTC-Zeit zu berechnen, muss man den Offset von der Ortszeit abziehen, zB für "15:00−03:30" 15:00 − (−03:30) um 18:30 UTC zu erhalten.

Ein Offset von Null kann neben der Sonderdarstellung "Z" auch numerisch als "+00:00", "+0000" oder "+00" angegeben werden. Eine numerische Angabe mit negativem Vorzeichen wie "−00:00", "−0000" oder "−00" ist jedoch nicht zulässig. Der Abschnitt Verwendung von Diktaten besagt, dass für einen positiven oder Nullwert ein Pluszeichen und für einen negativen Wert ein Minuszeichen verwendet werden muss. Im Gegensatz zu dieser Regel erlaubt RFC 3339, das ansonsten ein Profil von ISO 8601 ist, die Verwendung von "-00", mit der gleichen Bezeichnung wie "+00", aber einer anderen Bedeutung.

Kombinierte Datums- und Uhrzeitdarstellungen

<Datum>T<Uhrzeit>

Ein einzelner Zeitpunkt kann dargestellt werden, indem ein vollständiger Datumsausdruck, der Buchstabe "T" als Trennzeichen und ein gültiger Zeitausdruck verkettet werden . Beispiel: "2007-04-05T14:30" . In ISO 8601:2004 war es erlaubt, das „T“ -Zeichen einvernehmlich wie in „200704051430“ wegzulassen , aber diese Bestimmung wurde in ISO 8601-1:2019 entfernt. Das Trennen von Datums- und Uhrzeitteilen durch andere Zeichen wie Leerzeichen ist in ISO 8601 nicht erlaubt, aber in seinem Profil RFC 3339 erlaubt.

Wenn eine Zeitzonenbezeichnung erforderlich ist, folgt sie dem kombinierten Datum und der Uhrzeit. Beispiel: "2007-04-05T14:30Z" oder "2007-04-05T12:30−02:00" .

Es können entweder grundlegende oder erweiterte Formate verwendet werden, aber Datum und Uhrzeit müssen dasselbe Format verwenden. Der Datumsausdruck kann ein Kalender, eine Woche oder eine Ordnungszahl sein und muss eine vollständige Darstellung verwenden. Die Zeit kann unter Verwendung eines spezifizierten Formats mit reduzierter Genauigkeit dargestellt werden.

Dauer

PnYnMnDTnHnMnS
PnW
P<Datum>T<Uhrzeit>

Dauern definieren die Zeitspanne in einem Zeitintervall und werden durch das Format P[n]Y[n]M[n]DT[n]H[n]M[n]S oder P[n]W dargestellt, wie gezeigt auf der Seite. In diesen Darstellungen wird [n] durch den Wert für jedes der Datums- und Uhrzeitelemente ersetzt, die auf [n] folgen. Führende Nullen sind nicht erforderlich, aber die maximale Anzahl von Ziffern für jedes Element sollte von den Kommunikationspartnern vereinbart werden. Die Großbuchstaben P , Y , M , W , D , T , H , M und S sind Bezeichner für jedes der Datums- und Zeitelemente und werden nicht ersetzt.

  • P ist der Dauerbezeichner (für Periode ) am Anfang der Dauerdarstellung.
    • Y ist der Jahresbezeichner, der dem Wert für die Anzahl der Jahre folgt.
    • M ist der Monatsbezeichner, der dem Wert für die Anzahl der Monate folgt.
    • W ist der Wochenbezeichner, der dem Wert für die Anzahl der Wochen folgt.
    • D ist der Tagbezeichner, der dem Wert für die Anzahl der Tage folgt.
  • T ist der Zeitbezeichner, der den Zeitkomponenten der Darstellung vorangeht.
    • H ist der Stundenbezeichner, der dem Wert für die Anzahl der Stunden folgt.
    • M ist der Minutenbezeichner, der dem Wert für die Anzahl der Minuten folgt.
    • S ist der zweite Bezeichner, der dem Wert für die Anzahl der Sekunden folgt.

"P3Y6M4DT12H30M5S" steht beispielsweise für eine Dauer von "drei Jahre, sechs Monate, vier Tage, zwölf Stunden, dreißig Minuten und fünf Sekunden".

Datums- und Uhrzeitelemente einschließlich ihres Bezeichners können weggelassen werden, wenn ihr Wert null ist, und Elemente niedrigerer Ordnung können auch aus Gründen der verringerten Genauigkeit weggelassen werden. Beispielsweise sind "P23DT23H" und "P4Y" beide akzeptable Dauerdarstellungen. Es muss jedoch mindestens ein Element vorhanden sein, daher ist "P" keine gültige Darstellung für eine Dauer von 0 Sekunden. "PT0S" oder "P0D" sind jedoch beide gültig und repräsentieren die gleiche Dauer.

Um Mehrdeutigkeiten aufzulösen, ist "P1M" eine Dauer von einem Monat und "PT1M" eine Dauer von einer Minute (beachten Sie den Zeitbezeichner T, der dem Zeitwert vorangeht). Der kleinste verwendete Wert kann auch einen Dezimalbruch haben, wie in "P0.5Y", um ein halbes Jahr anzuzeigen. Diese Dezimalbruch kann entweder mit einem vorgegeben werden Komma oder einem vollständigen Stillstand , wie es in „P0,5Y“ oder „P0.5Y“. Der Standard verbietet nicht, dass Datums- und Uhrzeitwerte in einer Dauerdarstellung ihre "Übertragspunkte" überschreiten, außer wie unten angegeben. Somit könnte "PT36H" ebenso wie "P1DT12H" verwendet werden, um die gleiche Dauer darzustellen. Beachten Sie jedoch, dass "PT36H" nicht gleich "P1DT12H" ist, wenn Sie von oder auf Sommerzeit umschalten .

Alternativ kann ein auf kombinierten Datums- und Uhrzeitdarstellungen basierendes Format für die Dauer nach Vereinbarung zwischen den Kommunikationspartnern entweder im Basisformat PYYYYMMDDThhmmss oder im erweiterten Format P[YYYY]-[MM]-[DD]T[hh] verwendet werden: [mm]:[ss] . Die erste oben angezeigte Dauer wäre beispielsweise "P0003-06-04T12:30:05" . Einzelne Datums- und Uhrzeitwerte dürfen jedoch ihre Moduli nicht überschreiten (zB ein Wert von 13 für den Monat oder 25 für die Stunde wäre nicht zulässig).

Obwohl der Standard eine Dauer als Teil von Zeitintervallen beschreibt, die im nächsten Abschnitt besprochen werden, wird das Dauerformat (oder eine Untermenge davon) weithin unabhängig von Zeitintervallen verwendet, wie bei der Java 8-Klasse Duration.

Zeitintervalle

<Anfang>/<Ende>
<Start>/<Dauer>
<Dauer>/<Ende>
<Dauer>

Ein Zeitintervall ist die Zeitspanne zwischen zwei Zeitpunkten. Die dazwischenliegende Zeit wird durch eine Dauer ausgedrückt (wie im vorherigen Abschnitt beschrieben). Die beiden Zeitpunkte (Start und Ende) werden entweder durch eine kombinierte Datums- und Zeitdarstellung oder nur durch eine Datumsdarstellung ausgedrückt.

Es gibt vier Möglichkeiten, ein Zeitintervall auszudrücken:

  1. Start und Ende, z. B. "2007-03-01T13:00:00Z/2008-05-11T15:30:00Z"
  2. Beginn und Dauer, z. B. "2007-03-01T13:00:00Z/P1Y2M10DT2H30M"
  3. Dauer und Ende, z. B. "P1Y2M10DT2H30M/2008-05-11T15:30:00Z"
  4. Nur Dauer, wie "P1Y2M10DT2H30M", mit zusätzlichen Kontextinformationen

Von diesen erfordern die ersten drei zwei Werte, die durch einen Intervallbezeichner getrennt sind, der normalerweise ein Solidus ist (häufiger als Schrägstrich "/" bezeichnet). Abschnitt 3.2.6 von ISO 8601-1:2019 stellt fest, dass "ein Solidus durch einen doppelten Bindestrich ["--"] im gegenseitigen Einvernehmen der Kommunikationspartner ersetzt werden kann." und frühere Versionen verwendeten Notationen wie "2000--2002". Verwendung eines Doppel Bindestrich anstelle eines solidus ermöglicht die Aufnahme in Computerdateinamen ; In gängigen Betriebssystemen ist ein Solidus ein reserviertes Zeichen und in einem Dateinamen nicht zulässig.

Wenn bei <start>/<end>-Ausdrücken Elemente im Endwert fehlen, wird davon ausgegangen, dass sie mit dem Startwert einschließlich der Zeitzone identisch sind. Dieses Merkmal des Standards ermöglicht eine prägnante Darstellung von Zeitintervallen. Zum Beispiel könnte das Datum einer zweistündigen Besprechung einschließlich der Start- und Endzeiten einfach als "2007-12-14T13:30/15:30" angezeigt werden, wobei "/15:30" "/2007-12- 14T15:30" (dasselbe Datum wie der Beginn) oder das Anfangs- und Enddatum eines monatlichen Abrechnungszeitraums als "2008-02-15/03-14", wobei "/03-14" "/2008-03" bedeutet -14" (das gleiche Jahr wie der Start).

Wenn eine größere Genauigkeit zur Darstellung des Zeitintervalls erwünscht ist, können der Darstellung weitere Zeitelemente hinzugefügt werden. Ein mit "2007-11-13/15" bezeichnetes Intervall kann jederzeit am 2007-11-13 beginnen und jederzeit am 2007-11-15 enden , während "2007-11-13T09:00/15T17:00" einschließt die Start- und Endzeiten. Um alle Start- und Enddaten explizit einzuschließen , würde das Intervall als "2007-11-13T00:00/16T00:00" dargestellt .

Wiederholungsintervalle

Rn/<Intervall>
R/<Intervall>

Wiederholintervalle sind in Abschnitt „4.5 Wiederkehrende Zeitintervalle“ angegeben. Sie werden gebildet, indem am Anfang eines Intervallausdrucks "R[n]/" hinzugefügt wird, wobei R als Buchstabe selbst verwendet wird und [n] durch die Anzahl der Wiederholungen ersetzt wird. Das Weglassen des Wertes für [n] oder die Angabe eines Wertes von -1 bedeutet eine unbegrenzte Anzahl von Wiederholungen. Ein Wert von 0 für [n] bedeutet, dass das Intervall nicht wiederholt wird.

Wenn das Intervall den Beginn angibt (Formulare 1 und 2 oben), dann ist dies der Beginn des sich wiederholenden Intervalls. Wenn das Intervall das Ende, aber nicht den Anfang angibt (Form 3 oben), dann ist dies das Ende des sich wiederholenden Intervalls. Um beispielsweise das Intervall von "P1Y2M10DT2H30M" fünfmal ab "2008-03-01T13:00:00Z" zu wiederholen , verwenden Sie "R5/2008-03-01T13:00:00Z/P1Y2M10DT2H30M" .

Abgeschnittene Darstellungen

ISO 8601:2000 erlaubte das Abschneiden (nach Vereinbarung), wenn führende Komponenten eines Datums oder einer Uhrzeit weggelassen werden. Dies ermöglichte insbesondere die Verwendung zweistelliger Jahreszahlen und der mehrdeutigen Formate YY-MM-DD und YYMMDD. Diese Bestimmung wurde in ISO 8601:2004 entfernt.

Abgeschnittene Darstellungen
Typ Grundformat Einfaches Beispiel Erweitertes Format Erweitertes Beispiel
Ein bestimmtes Datum im implizierten Jahrhundert JJMMTT 851026 JJ-MM-TT 85-10-26
Ein bestimmtes Jahr und ein bestimmter Monat im implizierten Jahrhundert -JJMM -8510 -JJ-MM -85-10
Ein bestimmtes Jahr im implizierten Jahrhundert -YY -85 N / A
Ein bestimmter Tag eines Monats im implizierten Jahr --MMDD ---1026 --MM-TT ---10-26
Ein bestimmter Monat im implizierten Jahr --MM --10 N / A
Ein bestimmter Tag im implizierten Monat ---DD ---26

Nur der erste Typ (spezifisches Datum im implizierten Jahrhundert) lässt das führende -Jahrhundert weg . Alle anderen Formate haben einen Anfang -pro ausgelassenem Jahrhundert, Jahr und Monat.

Standardisierte Erweiterungen

ISO 8601-2:2019 definiert eine Reihe von standardisierten Erweiterungen der ISO 8601 Datums- und Uhrzeitformate.

Erweitertes Datums-/Zeitformat (EDTF)
Die EDTF wird als Beispiel für ein Profil von ISO 8601 angegeben. Einige seiner Merkmale sind:
  • Unsichere und ungefähre Kennzeichner, '?' und '~' sowie deren kombinierte Verwendung '%'; sie können auf das gesamte Datum oder auf einzelne Komponenten angewendet werden.
  • Zeitintervalle mit offenem (unbegrenztem) Ende oder unbekanntem Ende.
  • Exponentielle und signifikante Zahlennotation in Jahren.
  • Spezielle "Monats"-Werte, die Unterjahrgruppierungen wie Jahreszeiten und Quartale angeben.
  • Syntax zum Serialisieren einer Datumsliste.
Die EDTF-Funktionen sind im Abschnitt "Datums- und Zeiterweiterungen" von ISO 8601-2:2019 beschrieben.
Wiederholungsregeln für wiederkehrende Zeitintervalle
ISO 8601-2:2019 definiert auch ein Format, um Wiederholungsintervalle basierend auf der Syntax von iCalendar einzuschränken .

Verwendungszweck

Im Internet verwendet das World Wide Web Consortium (W3C) den IETF- Standard basierend auf ISO 8601, um ein Profil des Standards zu definieren, das die unterstützten Datums- und Zeitformate einschränkt, um die Fehlerwahrscheinlichkeit und die Komplexität der Software zu reduzieren. Die sehr einfache Spezifikation basiert auf einem Entwurf des unten erwähnten RFC 3339.

Auf ISO 8601 wird in mehreren Spezifikationen verwiesen, aber nicht immer wird die gesamte Palette der Optionen von ISO 8601 verwendet. Beispielsweise verwenden die verschiedenen Standards für elektronische Programmführer für TV, digitales Radio usw. verschiedene Formen, um Zeitpunkte und Dauern zu beschreiben. Die ID3- Audio-Metadaten-Spezifikation verwendet auch eine Untermenge von ISO 8601. Die GeneralizedTime des X.690- Kodierungsstandards verwendet eine andere Untermenge von ISO 8601.

Handel

Das ISO 8601-Wochendatum ab 2006 erschien in seiner Grundform auf kommerziellen Verpackungen großer Marken in den Vereinigten Staaten. Sein Aussehen hing mehr als von einer bestimmten Marke von der jeweiligen Verpackung, Konservenfabrik oder Abfüllanlage ab. Das Format eignet sich besonders für die Qualitätssicherung, damit Produktionsfehler ohne weiteres auf Arbeitswochen zurückverfolgt und Produkte gezielt für den Rückruf aussortiert werden können.

RFCs

IETF RFC 3339 definiert ein Profil von ISO 8601 zur Verwendung in Internetprotokollen und -standards . Sie schließt Dauern und Daten vor der gemeinsamen Ära ausdrücklich aus . Die komplexeren Formate wie Wochenzahlen und Ordinaltage sind nicht zulässig.

RFC 3339 weicht von ISO 8601 dadurch ab, dass ein Nullzeitzonen-Offset als "-00:00" angegeben werden kann, was ISO 8601 verbietet. RFC 3339 beabsichtigt, dass "-00:00" die Konnotation trägt, dass es keine bevorzugte Zeitzone angibt, während das übereinstimmende "+00:00" oder ein beliebiger Offset ungleich Null bedeutet, dass der verwendete Offset bevorzugt wird. Diese Konvention bezüglich "-00:00" ist von früheren RFCs abgeleitet, wie z. B. RFC 2822, die sie für Zeitstempel in E-Mail- Headern verwendet. RFC 2822 behauptete nicht, dass irgendein Teil seines Zeitstempelformats ISO 8601 entspricht, und konnte diese Konvention daher ohne Konflikte verwenden.

Übernahme als nationaler Standard

Australien AS ISO 8601-2007
Österreich ÖNORM ISO 8601 (ersetzt ÖNORM EN 28601)
Belgien NBN EN 28601 (1993)
Brasilien NBR 5892:2019
Kanada CAN/CSA-Z234.4-89 (R2007)
Kolumbien NTC 1034:2014 Quelle ICONTEC (Dieser Standard ist identisch mit ISO 8601:2004)
China GB/T 7408-2005
Tschechien ČSN ISO 8601 (ersetzt ČSN EN 28601)
Dänemark DS/ISO 8601:2005 (ersetzt DS/EN 28601)
Estland EVS 8:2008; EVS-ISO 8601:2011
Europäische Norm EN ISO 8601, EN 28601:1992 (aufgehoben 7. Oktober 2011)
Finnland SFS-EN 28601
Frankreich NF Z69-200; NF EN 28601:1993-06-01 (aufgehoben)
Deutschland DIN ISO 8601:2006-09 (ersetzt DIN EN 28601:1993-02); verwandt: DIN 5008:2011-04 (ersetzt DIN 5008:2005-05, DIN 5008:2001-11, DIN 5008:1996-05)
Griechenland ELOT EN 28601
Ungarn MSZ ISO 8601:2003
Island IST EN 28601:1992 (veraltet)
Indien IS 7900:2001
Irland IS/EN 28601:1993
Italien UNI EN 28601 (1993)
Japan JIS X 0301:2002
Korea, Republik von KS X ISO 8601
Litauen LST ISO 8601:2006 (ersetzt LST ISO 8601:1997)
Luxemburg ITM-EN 28601
Niederlande NEN ISO 8601, NEN EN 28601 (1994), NEN 2772
Norwegen NS-ISO 8601
Polen PN-EN 28601:2002 (veraltet seit 2008. Im Austausch wurde keine Norm gegeben.)
Portugal NP EN 28601
Russland ГОСТ ИСО 8601-2001 (aktuell), ГОСТ 7,64-90 (veraltet)
Südafrika SANS 8601:2009
Spanien UNE EN 28601:1995
Schweden SS-ISO 8601:2011 (Genehmigt 2011-11-01, ersetzt SS-ISO 8601)
Schweiz SN ISO 8601:2005-08 (ersetzt SN-EN 28601:1994)
Taiwan CNS 7648
Thailand TIS 1111:2535 (1992)
Truthahn TS ISO 8601
Ukraine ISO 8601:2010
Vereinigtes Königreich BS ISO 8601:2004, BS EN 28601 (1989-06-30)
Vereinigte Staaten ANSI INCITS 30-1997 (R2008) und NIST FIPS PUB 4-2
Vietnam TCVN 6398-1:1998

Siehe auch

Hinweise und Referenzen

Externe Links

Implementierungsübersicht