ISO 8601 - ISO 8601

Aktuální datum a čas vyjádřený podle ISO 8601 [ obnovit ]
datum 2021-10-18
Datum a čas v UTC 2021-10-18T09: 41: 33+00: 00
2021-10-18T09: 41: 33Z
20211018T094133Z
Týden 2021-W42
Týden s všedním dnem 2021-W42-1
Datum bez roku --10-18
Pořadové datum 2021-291

ISO 8601 je mezinárodní norma pokrývající celosvětovou výměnu a komunikaci dat souvisejících s datem a časem . Je udržován Mezinárodní organizací pro normalizaci (ISO) na bázi Ženevy a byl poprvé publikován v roce 1988 s aktualizacemi v letech 1991, 2000, 2004 a 2019. Standard si klade za cíl poskytnout dobře definovanou a jednoznačnou metodu reprezentace kalendářních dat a časy v celosvětových komunikacích, zejména aby se předešlo nesprávnému výkladu číselných dat a časů, kdy jsou taková data přenášena mezi zeměmi s různými konvencemi pro psaní číselných dat a časů.

ISO 8601 se obecně vztahuje na tato zobrazení a formáty: data v gregoriánském kalendáři (včetně proleptického gregoriánského kalendáře); časy, založené na 24hodinovém systému měření času , s volitelným ofsetem UTC ; časové intervaly ; a jejich kombinace. Norma nepřisuzuje konkrétní význam žádnému prvku reprezentovaných dat/časů: význam jakéhokoli prvku závisí na kontextu jeho použití. Uvedená data a časy nemohou používat slova, která nemají specifikovaný číselný význam v rámci standardu (čímž se vyloučí názvy let v čínském kalendáři ) nebo která nepoužívají počítačové znaky (nezahrnuje obrázky nebo zvuky).

V reprezentacích, které dodržují výměnný standard ISO 8601 , jsou data a časy uspořádány tak, že největší časové období (obvykle rok) je umístěno vlevo a každý postupně menší termín je umístěn napravo od předchozího termínu. Reprezentace musí být napsány v kombinaci arabských číslic a konkrétních počítačových znaků (například „-“, „:“, „T“, „W“, „Z“), kterým je v rámci normy přiřazen konkrétní význam; to znamená, že takové běžné popisovače dat (nebo jejich částí) jako „leden“, „čtvrtek“ nebo „nový rok“ nejsou v rámci výměny v rámci standardu povoleny.

Dějiny

První vydání normy ISO 8601 bylo vydáno jako ISO 8601: 1988 v roce 1988. Sjednotilo a nahradilo řadu starších norem ISO v různých aspektech zápisu data a času: ISO 2014 , ISO 2015 , ISO 2711 , ISO 3307 a ISO 4031 . V roce 2000 byla nahrazena druhým vydáním ISO 8601: 2000 , třetím vydáním ISO 8601: 2004 vydaným 1. prosince 2004 a stažena a revidována ISO 8601-1: 2019 a ISO 8601-2: 2019 dne 25. února 2019. ISO 8601 byla vypracována technickou komisí TC 154 a je za ni přímo odpovědná .

Přestože je norma ISO 2014 nahrazena, je to standard, který původně zavedl celočíselný zápis data v pořadí od nejvíce do nejméně významného [RRRR]-[MM]-[DD] . Systém číslování týdnů ISO byl zaveden v ISO 2015 a identifikace dnů podle pořadových dat byla původně definována v ISO 2711.

Čtvrtá revize normy ISO 8601-1: 2019 vydaná v únoru 2019 představuje mírně aktualizovaný obsah předchozí normy ISO 8601: 2004, zatímco nová norma ISO 8601-2: 2019 definuje různá rozšíření, jako jsou nejistoty nebo části # Rozšířený formát data/času (EDTF).

Historie vydaných vydání
název Popis
ISO 8601: 1988 Datové prvky a formáty výměny - Výměna informací - Reprezentace dat a časů
ISO 8601: 1988/COR 1: 1991 Datové prvky a formáty výměny - Výměna informací - Zobrazení dat a časů - Technická oprava 1
ISO 8601: 2000 Datové prvky a formáty výměny - Výměna informací - Reprezentace dat a časů
ISO 8601: 2004 Datové prvky a formáty výměny - Výměna informací - Reprezentace dat a časů
ISO 8601-1: 2019 Datum a čas - Zastoupení pro výměnu informací - Část 1: Základní pravidla
ISO 8601-2: 2019 Datum a čas - Zastoupení pro výměnu informací - Část 2: Rozšíření

Obecné zásady

  • Hodnoty data a času jsou seřazeny od největší po nejmenší jednotku času: rok, měsíc (nebo týden), den, hodina, minuta, sekunda a zlomek sekundy. Lexikografické uspořádání reprezentace tak odpovídá chronologickém pořadí, s výjimkou data reprezentace zahrnující negativní roky nebo časový posun. To umožňuje data přirozeně třídit například podle souborových systémů.
  • Každá hodnota data a času má pevný počet číslic, které musí být vyplněny úvodními nulami .
  • Reprezentace může být provedena v jednom ze dvou formátů - základní formát s minimálním počtem oddělovačů nebo rozšířený formát s přidanými oddělovači pro zlepšení čitelnosti pro člověka. Standard uvádí, že „V prostém textu je třeba se vyhnout základnímu formátu “. Oddělovač používaný mezi hodnotami data (rok, měsíc, týden a den) je spojovník , zatímco dvojtečka se používá jako oddělovač hodnot času (hodiny, minuty a sekundy). Například 6. den 1. měsíce roku 2009 lze v rozšířeném formátu zapsat jako „2009-01-06“ nebo jednoduše jako „20090106“ v základním formátu bez nejasností.
  • Kvůli snížené přesnosti může být z libovolného zobrazení data a času vynechán libovolný počet hodnot, ale v pořadí od nejmenšího po nejvýznamnější. Například „2004-05“ je platné datum ISO 8601, které označuje květen (pátý měsíc) 2004. Tento formát nikdy nebude představovat 5. den nespecifikovaného měsíce v roce 2004, ani nebude představovat časové rozpětí od 2004 až 2005.
  • Pokud je to pro konkrétní aplikaci nutné, norma podporuje přidání desetinného zlomku k nejmenší časové hodnotě v reprezentaci.

Termíny

Říjen 2021
Týden Po Út Středa Čtvrtek So slunce
W39 27 28 29 30 01 02 03
W40 04 05 06 07 08 09 10
W41 11 12 13 14 15 16 17
W42 18 19 20 21 22 23 24
W43 25 26 27 28 29 30 31

Standard používá gregoriánský kalendář , který „slouží jako mezinárodní standard pro civilní použití“.

ISO 8601: 2004 stanoví datum referenčního kalendáře na gregoriánský kalendář ze dne 20. května 1875 jako datum, kdy byla v Paříži podepsána Convention du Mètre ( úmluva o metrech ) (explicitní referenční datum bylo v ISO 8601-1: 2019 odstraněno). Kalendářní data ISO před konvencí jsou však stále kompatibilní s gregoriánským kalendářem až do oficiálního zavedení gregoriánského kalendáře 15. října 1582.

Dřívější data v proleptickém gregoriánském kalendáři lze použít po vzájemné dohodě partnerů při výměně informací. Standard uvádí, že každé datum musí být po sobě jdoucí, takže použití juliánského kalendáře by bylo v rozporu se standardem (protože v den přechodu by data nebyla po sobě jdoucí).

Let

RRRR
± Y RRRR

ISO 8601 předepisuje minimálně čtyřmístný rok [RRRR], aby se předešlo problému s rokem 2000 . Představuje tedy roky od 0000 do 9999, rok 0000 se rovná 1 př. N. L. A všechny ostatní n . L. Roky před rokem 1583 však standard automaticky nepovoluje. Místo toho „hodnoty v rozsahu [0000] až [1582] se použijí pouze po vzájemné dohodě partnerů při výměně informací“.

Pro reprezentaci let před 0000 nebo po 9999 norma také umožňuje rozšíření reprezentace roku, ale pouze po předchozí dohodě mezi odesílatelem a příjemcem. Rozšířená reprezentace roku [± Y RRRR] musí mít dohodnutý počet číslic navíc za rok nad čtyřciferné minimum a místo běžnějšího AD/BC (nebo CE/ musí mít předponu + nebo-). BCE ) notace; podle konvence je 1 BC označeno +0000 , 2 BC je označeno −0001 atd.

Kalendářní data

RRRR-MM-DD nebo RRRRMMDD
RRRR-MM ( ale ne RRRRMM)
Povoleno pouze v nahrazené verzi od roku 2000:
--MM-DD nebo --MMDD

Zobrazení kalendářního data je ve formě zobrazené v sousedním rámečku. [RRRR] označuje čtyřciferný rok, 0000 až 9999. [MM] označuje dvouciferný měsíc v roce, 01 až 12. [DD] označuje dvouciferný den v daném měsíci, 01 až 31. Například „5. duben 1981“ může být v rozšířeném formátu buď „1981-04-05“, nebo v základním formátu „19810405“ .

Standard také umožňuje, aby se data kalendáře zapisovala se sníženou přesností. Například lze napsat „1981-04“ ve smyslu „1981 duben“. Verze 2000 umožňovala psát „--04-05“ ve smyslu „5. dubna“, ale verze 2004 neumožňuje vynechat rok, kdy je přítomen měsíc. Jednoduše lze napsat „1981“ pro označení toho roku, „198“ pro desetiletí od roku 1980 do roku 1989 včetně nebo „19“ pro století od 1900 do 1999 včetně. Ačkoli standard umožňuje formáty „RRRR-MM-DD“ a RRRRMMDD pro úplné zobrazení kalendářního data, pokud je vynechán den [DD], je povolen pouze formát RRRR-MM . Nepovolením dat ve formuláři RRRRMM se norma vyhne záměně se zkrácenou reprezentací RRRMMD (stále často používanou).

Termíny týdnů

RRRR-Www nebo RRRRWww
RRRR-Www-D nebo RRRRWwwD

Zobrazení data týdne jsou ve formátech, jak je uvedeno v sousedním rámečku. [RRRR] označuje rok číslování týdnů podle ISO, který se mírně liší od tradičního gregoriánského kalendářního roku (viz níže). [Www] je číslo týdne s předponou na písmeno W od W01 do W53. [D] je číslo dne v týdnu od 1 do 7, počínaje pondělí a končící v neděli.

Existuje několik vzájemně ekvivalentních a kompatibilních popisů týdne 01:

  • týden s prvním čtvrtkem počátečního roku (formální definice ISO),
  • týden s 4. lednem v něm,
  • první týden s většinou (čtyřmi nebo více) jeho dnů v počátečním roce a
  • týden začínající pondělím v období 29. prosince - 4. ledna.

V důsledku toho je 1. leden v pondělí, úterý, středu nebo čtvrtek v týdnu 01. Pokud je 1. leden v pátek, sobotu nebo neděli, je to v týdnu 52 nebo 53 předchozího roku (existuje žádný týden 00). 28. prosinec je vždy v posledním týdnu roku.

Číslo týdne lze popsat počítáním čtvrtků: 12. týden obsahuje 12. čtvrtek v roce.

Týden číslování rok ISO začíná na první den (pondělí) v týdnu 01 a končí v neděli před novým ISO roku (tedy bez překrývání nebo mezer). Skládá se z 52 nebo 53 celých týdnů. První týden ISO v roce může mít až tři dny, které jsou ve skutečnosti v končícím gregoriánském kalendářním roce; pokud jsou tři, jsou to pondělí, úterý a středa. Podobně poslední týden v roce v roce ISO může mít až tři dny, které jsou ve skutečnosti v gregoriánském kalendářním roce, který začíná; pokud jsou tři, jsou to pátek, sobota a neděle. Čtvrtek každého týdne ISO je vždy v gregoriánském kalendářním roce označeném rokem číslování týdnů ISO.

Příklady:

  • V pondělí 29. prosince 2008 je napsáno „2009-W01-1“
  • V neděli 3. ledna 2010 je napsáno „2009-W53-7“

Pořadové termíny

RRRR-DDD nebo RRRRDDD

Pořadové datum je jednoduchá forma pro příležitosti, kdy svévolné povaha týdenním a měsíčním definic jsou spíše překážkou než pomoc, například při porovnání data z různých kalendářů. Jak je uvedeno výše, [RRRR] označuje rok. [DDD] je den toho roku, od 001 do 365 (366 v přestupném roce ). Například „1981-04-05“ je také „1981-095“ .

Tento formát se používá s jednoduchými hardwarovými systémy, které vyžadují systém data, ale kde zahrnutí úplného softwaru pro výpočet kalendáře může být značnou obtíž. Tento systém je někdy označován jako „juliánské datum“, ale to může způsobit záměnu s astronomickým juliánským dnem , postupné počítání počtu dnů od dne 0 počínaje 1. lednem 4713 př. N. L. Greenwichské poledne, juliánský proleptický kalendář (nebo poledne na ISO datum −4713-11-24, které používá gregoriánský proleptický kalendář s rokem 0000).

Časy

hh: mm: ss.sss nebo Thhmmss.sss
hh: mm: ss nebo Thhmmss
hh: mm nebo Thhmm
Thh

ISO 8601 používá 24hodinový systém hodin . Od ISO 8601-1: 2019 je základní formát T [hh] [mm] [ss] a rozšířený formát je T [hh]: [mm]: [ss]. Dřívější verze vynechaly T (představující čas) v obou formátech.

  • [hh] označuje hodinu s nulovým polstrováním mezi 00 a 23.
  • [mm] označuje minutu s nulovým polstrováním mezi 00 a 59.
  • [ss] označuje sekundu s nulovým polstrováním mezi 00 a 60 (kde 60 se používá pouze k označení přidané přestupné sekundy ).

Čas se tedy může jevit buď jako „T134730“ v základním formátu, nebo jako „T13: 47: 30“ v rozšířeném formátu . ISO 8601-1: 2019 umožňuje vynechat T v rozšířeném formátu, jako v „13:47:30“, ale umožňuje pouze T v základním formátu, pokud neexistuje riziko nejednoznačnosti s výrazy data.

Sekundy nebo minuty a sekundy mohou být pro větší stručnost, ale sníženou přesnost, ze základních nebo prodloužených časových formátů vynechány; výsledné formáty se sníženou přesností času jsou:

  • T [hh] [mm] v základním formátu nebo [hh]: [mm] v rozšířeném formátu , pokud jsou vynechány sekundy.
  • T [hh], když jsou vynechány sekundy i minuty.

Podle ISO 8601-1: 2019 může být půlnoc označována pouze jako „00:00“, což odpovídá začátku kalendářního dne. Dřívější verze standardu umožňovaly „24:00“, což odpovídá konci dne, což ale revize 2019 výslovně neumožňuje.

V kterémkoli z těchto zobrazení lze přidat desetinný zlomek k časovému prvku nejnižšího řádu. Desítkové známka , buď čárka nebo tečka (po ISO 80000-1 podle norem ISO 8601: 1-2019, který nestanoví přednost kromě rámci mezinárodních standardů, avšak s preferencí pro čárku podle normy ISO 8601: 2004) se používá jako oddělovač mezi časovým prvkem a jeho zlomkem. Chcete -li označit „14 hodin, 30 a půl minuty“, neuvádějte údaj o sekundách. Představte to jako „14: 30,5“, „T1430,5“, „14: 30,5“ nebo „T1430.5“. Počet desetinných míst pro desetinný zlomek není omezen. Komunikující strany však musí odsouhlasit počet desetinných míst. Například na serveru Microsoft SQL Server je přesnost desetinného zlomku 3 za DATETIME, tj. „Rrrr-mm-ddThh: mm: ss [.mmm]“.

Označovatelé časových pásem

<čas> Z
<čas> ± hh: mm
<čas> ± hhmm
<čas> ± hh

Časová pásma v ISO 8601 jsou reprezentována jako místní čas (s neurčeným umístěním), jako UTC nebo jako offset od UTC.

Místní čas (nekvalifikovaný)

Pokud nejsou uvedeny žádné informace o vztahu UTC s časovou reprezentací, předpokládá se, že čas je v místním čase. I když může být bezpečné předpokládat místní čas při komunikaci ve stejném časovém pásmu, je nejednoznačné, pokud se používá při komunikaci v různých časových pásmech. I v rámci jednoho geografického časového pásma budou některé místní časy nejednoznačné, pokud region dodržuje letní čas . Obvykle je vhodnější uvést časové pásmo (označení zóny) pomocí notace standardu.

Koordinovaný světový čas (UTC)

Pokud je čas v UTC , přidejte Z přímo za čas bez mezery. Z je označení zóny pro posun nulového UTC. „09:30 UTC“ je tedy reprezentováno jako „09: 30Z“ nebo „T0930Z“. „14:45:15 UTC“ bude „14: 45: 15Z“ nebo „T144515Z“.

Z přípona v časové reprezentace ISO 8601 je někdy označován jako „Zulu time“, protože stejné písmeno se používá pro označení časového pásma Zulu . Standard ACP 121, který definuje seznam vojenských časových pásem, však nezmiňuje UTC a odvozuje „zulský čas“ z greenwichského času, který byl dříve používán jako mezinárodní civilní časový standard. Vědecká komunita již GMT přesně nedefinuje a může v závislosti na kontextu odkazovat buď na UTC nebo UT1 .

Časové posuny od UTC

UTC posun je připojen k času v stejným způsobem, jako 'Z' bylo uvedeno výše, ve formě ± [hh]: [mm], ± [hh] [mm], nebo ± [hh].

Negativní offsety UTC popisují časové pásmo západně od UTC ± 00: 00 , kde je civilní čas za (nebo dříve) než UTC, takže označení zóny bude vypadat jako „−03: 00“, „ - 0300“ nebo „−03 “.

Pozitivní offsety UTC popisují časové pásmo na nebo na východ od UTC ± 00: 00 , kde je civilní čas stejný nebo vpřed (nebo později) než UTC, takže označení zóny bude vypadat jako „+02: 00“, „+0200 “nebo„ +02 “.

Příklady

  • „−05: 00“ pro New York ve standardní čas ( UTC-05: 00 )
  • „−04: 00“ pro New York o letním čase ( UTC-04: 00 )
  • „+00: 00“ (ale ne „−00: 00“) pro Londýn ve standardní čas ( UTC ± 00: 00 )
  • "+02: 00" pro Káhiru ( UTC+02: 00 )
  • „+05: 30“ pro Bombaj ( UTC+05: 30 )
  • „+14: 00“ pro Kiribati ( UTC+14: 00 )

Viz Seznam časových offsetů UTC pro další offsety UTC .

Aby ISO 8601 představoval záporný offset, určuje použití znaménka minus . Pokud je sada pro výměnu znaků omezená a nemá znak mínus, pak by měla být použita spojovník-mínus . ASCII nemá znaménko minus, takže by byl použit jeho znak spojovník-minus (kód je 45 desetinných nebo 2D hexadecimálních). Pokud má znaková sada znaménko minus, měl by být tento znak použit. Unicode má znaménko minus a jeho znakový kód je U+2212 (2212 hexadecimální); HTML entity znak vyvolání je &minus;.

Následující časy se týkají stejného okamžiku: „18: 30Z“, „22: 30+04“, „1130–0700“ a „15: 00–03: 30“. Písmena námořních časových pásem se nepoužívají s výjimkou Z. Pro výpočet času UTC je třeba odečíst offset od místního času, např. Pro „15: 00–03: 30“ do 15:00 - (−03: 30) získat 18:30 UTC.

Posun nuly, kromě zvláštního zobrazení „Z“, lze také zadat číselně jako „+00: 00“, „+0000“ nebo „+00“. Není však povoleno uvádět jej číselně se záporným znaménkem jako „−00: 00“, „−0000“ nebo „−00“. Sekce diktování použití znaménka uvádí, že pro kladnou nebo nulovou hodnotu je třeba použít znaménko plus a pro zápornou hodnotu znaménko mínus. Na rozdíl od tohoto pravidla povoluje RFC 3339, který je jinak profilem ISO 8601, použití „-00“, se stejným označením jako „+00“, ale s odlišnou konotací.

Kombinované zobrazení data a času

<datum> T <čas>

Jediný časový okamžik může být reprezentován zřetězením úplného výrazu data, písmena „T“ jako oddělovače a platného časového výrazu. Například „2007-04-05T14: 30“ . V ISO 8601: 2004 bylo povoleno vynechat znak „T“ po vzájemné dohodě jako v „200704051430“ , ale toto ustanovení bylo v ISO 8601-1: 2019 odstraněno. Oddělení částí data a času jinými znaky, například mezerou, není v ISO 8601 povoleno, ale je povoleno v jejím profilu RFC 3339.

Je -li požadováno označení časového pásma, následuje kombinované datum a čas. Například „2007-04-05T14: 30Z“ nebo „2007-04-05T12: 30−02: 00“ .

Lze použít buď základní, nebo rozšířené formáty, ale datum i čas musí mít stejný formát. Datum může být kalendář, týden nebo pořadové číslo a musí používat úplné zobrazení. Čas lze znázornit pomocí zadaného formátu se sníženou přesností.

Trvání

PnYnMnDTnHnMnS
PnW
P <datum> T <čas>

Trvání definuje množství intervenujícího času v časovém intervalu a jsou reprezentovány formátem P [n] Y [n] M [n] DT [n] H [n] M [n] S nebo P [n] W, jak je znázorněno na straně. V těchto reprezentacích je [n] nahrazeno hodnotou pro každý z datových a časových prvků, které následují za [n]. Vedoucí nuly nejsou povinné, ale komunikující strany by se měly dohodnout na maximálním počtu číslic pro každý prvek. Velká písmena P , Y , M , W , D , T , H , M a S jsou označení pro každý prvek data a času a nenahrazují se.

  • P je označení doby trvání (pro období ) umístěné na začátku reprezentace doby trvání.
    • Y je rok, který označuje hodnotu za počet let.
    • M je označení měsíce, které následuje po hodnotě pro počet měsíců.
    • W je označení týdne, které sleduje hodnotu pro počet týdnů.
    • D je označení dne, které následuje po hodnotě počtu dní.
  • T je označení času, které předchází časovým složkám reprezentace.
    • H je označení hodin, které následuje po hodnotě pro počet hodin.
    • M je označení minut, které následuje po hodnotě počtu minut.
    • S je druhý označení, které následuje po hodnotě pro počet sekund.

Například „P3Y6M4DT12H30M5S“ představuje dobu „tři roky, šest měsíců, čtyři dny, dvanáct hodin, třicet minut a pět sekund“.

Prvky data a času včetně jejich označení mohou být vynechány, pokud je jejich hodnota nulová, a prvky nižšího řádu mohou být také vynechány pro snížení přesnosti. Například „P23DT23H“ a „P4Y“ jsou přijatelné reprezentace trvání. Musí však být přítomen alespoň jeden prvek, takže „P“ není platnou reprezentací po dobu 0 sekund. „PT0S“ nebo „P0D“ jsou však platné a představují stejné trvání.

Chcete-li vyřešit nejednoznačnost, „P1M“ je trvání jednoho měsíce a „PT1M“ je trvání jedné minuty (všimněte si časového označení, T, které předchází časové hodnotě). Nejmenší použitá hodnota může mít také desetinný zlomek, jako v „P0,5Y“ pro označení půl roku. Tento desetinný zlomek může být zadán buď čárku nebo tečku , jak v „P0,5Y“ nebo „P0.5Y“. Norma nezakazuje, aby hodnoty data a času v reprezentaci doby trvání překračovaly jejich „body přenosu“, kromě případů uvedených níže. Pro reprezentaci stejného trvání by tedy mohl být použit „PT36H“ i „P1DT12H“. Pamatujte však, že „PT36H“ není stejné jako „P1DT12H“ při přechodu z nebo na letní čas .

Alternativně lze po dohodě mezi komunikujícími stranami použít formát pro trvání založený na kombinovaném zobrazení data a času buď v základním formátu PYYYYMMDDThhmmss nebo v rozšířeném formátu P [RRRR]-[MM]-[DD] T [hh]: [mm]: [ss] . Například výše uvedené první trvání by bylo „P0003-06-04T12: 30: 05“ . Jednotlivé hodnoty data a času však nesmí překročit jejich moduly (např. Hodnota 13 pro měsíc nebo 25 pro hodinu by nebyla přípustná).

Ačkoli standard popisuje trvání jako součást časových intervalů, které jsou popsány v další části, formát trvání (nebo jeho podmnožina) je široce používán nezávisle na časových intervalech, jako u třídy Java 8 Duration.

Časové intervaly

<start>/<end>
<start>/<duration>
<doba trvání>/<konec>
<doba trvání>

Časový interval je časový interval mezi dvěma časovými body. Množství intervenčního času je vyjádřeno dobou trvání (jak je popsáno v předchozí části). Dva časové body (začátek a konec) jsou vyjádřeny buď kombinovaným zobrazením data a času, nebo pouze zobrazením data.

Existují čtyři způsoby, jak vyjádřit časový interval:

  1. Začátek a konec, například „2007-03-01T13: 00: 00Z/2008-05-11T15: 30: 00Z“
  2. Začátek a trvání, například „2007-03-01T13: 00: 00Z/P1Y2M10DT2H30M“
  3. Trvání a konec, například „P1Y2M10DT2H30M/2008-05-11T15: 30: 00Z“
  4. Pouze doba trvání, například „P1Y2M10DT2H30M“, s dalšími informacemi o kontextu

Z nich první tři vyžadují dvě hodnoty oddělené znakem intervalu, což je obvykle solidus (častěji se označuje jako lomítko „/“). Oddíl 3.2.6 ISO 8601-1: 2019 uvádí, že „Solidus může být nahrazen dvojitou pomlčkou [“-"] po vzájemné dohodě komunikujících partnerů." a předchozí verze používaly zápisy jako „2000-2002“. Použití dvojité pomlčky místo Solidus umožňuje zahrnutí do názvů počítačových souborů ; v běžných operačních systémech je solidus vyhrazený znak a není povolen v názvu souboru.

Pokud u výrazů <start>/<end> chybí nějaké prvky v koncové hodnotě, předpokládá se, že jsou stejné jako u počáteční hodnoty včetně časového pásma. Tato vlastnost normy umožňuje stručné znázornění časových intervalů. Například datum dvouhodinové schůzky včetně času zahájení a ukončení by mohlo být jednoduše zobrazeno jako „2007-12-14T13: 30/15: 30“, kde „/15: 30“ znamená „/2007-12- 14T15: 30 "(stejné datum jako začátek) nebo datum začátku a konce měsíčního zúčtovacího období jako" 2008-02-15/03-14 ", kde"/03-14 "znamená"/2008-03 -14 "(stejný rok jako začátek).

Pokud je pro reprezentaci časového intervalu žádoucí větší přesnost, lze do reprezentace přidat více časových prvků. Interval označený „2007-11-13/15“ může začít kdykoli v letech 2007-11-13 a končit kdykoli v letech 2007-11-15 , zatímco „2007-11-13T09: 00/15T17: 00“ zahrnuje časy začátku a konce. Chcete-li explicitně zahrnout všechna data zahájení a ukončení, bude interval reprezentován jako „2007-11-13T00: 00/16T00: 00“ .

Opakující se intervaly

Rn/<interval>
R/<interval>

Opakující se intervaly jsou specifikovány v kapitole „4.5 Opakující se časový interval“. Jsou tvořeny přidáním „R [n]/“ na začátek intervalového výrazu, kde R je použito jako samotné písmeno a [n] je nahrazeno počtem opakování. Vynechání hodnoty pro [n] nebo zadání hodnoty -1 znamená neomezený počet opakování. Hodnota 0 pro [n] znamená, že se interval neopakuje.

Pokud interval určuje začátek (formuláře 1 a 2 výše), pak je to začátek opakujícího se intervalu. Pokud interval určuje konec, ale nikoli začátek (formulář 3 výše), pak je to konec opakujícího se intervalu. Chcete-li například opakovat interval „P1Y2M10DT2H30M“ pětkrát počínaje „2008-03-01T13: 00: 00Z“ , použijte „R5/2008-03-01T13: 00: 00Z/P1Y2M10DT2H30M“ .

Zkrácené reprezentace

ISO 8601: 2000 povoleno zkrácení (po dohodě), kde jsou vynechány úvodní komponenty data nebo času. Zejména to umožnilo použít dvouciferné roky a nejednoznačné formáty YY-MM-DD a YYMMDD. Toto ustanovení bylo v ISO 8601: 2004 odstraněno.

Zkrácené reprezentace
Typ Základní formát Základní příklad Rozšířený formát Rozšířený příklad
Konkrétní datum v implikovaném století YYMMDD 851026 RR-MM-DD 85-10-26
Konkrétní rok a měsíc v implikovaném století -RYMM -8510 -RR-MM -85-10
Konkrétní rok v implikovaném století -RY -85 N/A
Konkrétní den v měsíci v implikovaném roce --MMDD --1026 --MM-DD --10-26
Konkrétní měsíc v implikovaném roce --MM --10 N/A
Konkrétní den v implikovaném měsíci --- DD --- 26

Pouze první typ (konkrétní datum v implikovaném století) vynechává vedoucí -pro století. Všechny ostatní formáty mají jednu vedoucí hodnotu -za vynechané století, rok a měsíc.

Standardizovaná rozšíření

ISO 8601-2: 2019 definuje sadu standardizovaných rozšíření formátů data a času ISO 8601.

Rozšířený formát data/času (EDTF)
EDTF je uveden jako příklad profilu ISO 8601. Některé z jeho funkcí jsou:
  • Nejisté a přibližné kvalifikátory, '?' a '~', jakož i jejich kombinace, '%'; lze je aplikovat na celé datum nebo na jednotlivé komponenty.
  • Časové intervaly s otevřeným (neomezeným) koncem nebo neznámým koncem.
  • Exponenciální a významný údaj o čísle v letech.
  • Speciální hodnoty „měsíce“ označující podletová seskupení, jako jsou roční období a čtvrtletí.
  • Syntaxe pro serializaci seznamu dat.
Funkce EDTF jsou popsány v části „Rozšíření data a času“ ISO 8601-2: 2019.
Pravidla opakování pro opakující se časové intervaly
ISO 8601-2: 2019 také definuje formát pro omezení opakujících se intervalů na základě syntaxe z iCalendar .

Používání

Na internetu používá World Wide Web Consortium (W3C) standard IETF založený na ISO 8601 při definování profilu standardu, který omezuje podporované formáty data a času, aby se snížila pravděpodobnost chyb a složitost softwaru. Velmi jednoduchá specifikace vychází z níže uvedeného návrhu RFC 3339.

Na ISO 8601 odkazuje několik specifikací, ale celá řada možností ISO 8601 není vždy použita. Například různé standardy elektronického programového průvodce pro televizi, digitální rádio atd. Používají několik formulářů k popisu časových a časových bodů. Specifikace metadat audio ID3 také využívá podmnožinu ISO 8601. GeneralizedTime standardu kódování X.690 využívá další podmnožinu ISO 8601.

komerce

ISO 8601 Datum týden , od roku 2006, se objevila ve své základní podobě na hlavní značky komerčním balení ve Spojených státech. Jeho vzhled závisel na konkrétním balení, konzervárně nebo stáčírně více než jakákoli konkrétní značka. Formát je zvláště užitečný pro zajištění kvality, takže výrobní chyby lze snadno vysledovat do pracovních týdnů a produkty lze správně zacílit pro stažení.

RFC

IETF RFC 3339 definuje profil ISO 8601 pro použití v internetových protokolech a normách . Výslovně vylučuje doby a data před společnou érou . Složitější formáty, jako jsou čísla týdnů a řadové dny, nejsou povoleny.

RFC 3339 se odchyluje od ISO 8601 tím, že umožňuje zadat posunutí nulového časového pásma jako „-00: 00“, což ISO 8601 zakazuje. RFC 3339 má v úmyslu "-00: 00" nést konotaci, že neuvádí upřednostňované časové pásmo, zatímco vyhovující "+00: 00" nebo jakýkoli nenulový posun znamená, že je upřednostňován použitý offset. Tato konvence týkající se „-00: 00“ je odvozena z dřívějších RFC, například RFC 2822, který ji používá pro časová razítka v záhlavích e-mailů . RFC 2822 netvrdil, že jakákoli část formátu jeho časového razítka je v souladu s ISO 8601, a proto mohl tuto konvenci používat bez konfliktu.

Přijetí jako národní standardy

Austrálie AS ISO 8601-2007
Rakousko ÖNORM ISO 8601 (nahrazeno ÖNORM EN 28601)
Belgie NBN EN 28601 (1993)
Brazílie NBR 5892: 2019
Kanada CAN/CSA-Z234.4-89 (R2007)
Kolumbie NTC 1034: 2014 Zdroj ICONTEC (Tato norma je shodná s ISO 8601: 2004)
Čína GB/T 7408-2005
Česká republika ČSN ISO 8601 (nahrazeno ČSN EN 28601)
Dánsko DS/ISO 8601: 2005 (nahrazeno DS/EN 28601)
Estonsko EVS 8: 2008; EVS-ISO 8601: 2011
Evropská norma EN ISO 8601, EN 28601: 1992 (zrušeno 7. října 2011)
Finsko SFS-EN 28601
Francie NF Z69-200; NF EN 28601: 1993-06-01 (zrušeno)
Německo DIN ISO 8601: 2006-09 (nahrazena DIN EN 28601: 1993-02); související: DIN 5008: 2011-04 (nahrazeno DIN 5008: 2005-05, DIN 5008: 2001-11, DIN 5008: 1996-05)
Řecko ELOT EN 28601
Maďarsko MSZ ISO 8601: 2003
Island IST EN 28601: 1992 (zastaralé)
Indie IS 7900: 2001
Irsko IS/EN 28601: 1993
Itálie UNI EN 28601 (1993)
Japonsko JIS X 0301: 2002
Korejská republika KS X ISO 8601
Litva LST ISO 8601: 2006 (nahrazeno LST ISO 8601: 1997)
Lucembursko ITM-EN 28601
Holandsko NEN ISO 8601, NEN EN 28601 (1994), NEN 2772
Norsko NS-ISO 8601
Polsko PN-EN 28601: 2002 (Zastaralé od roku 2008. Výměnou nebyl uveden žádný standard.)
Portugalsko NP EN 28601
Rusko ГОСТ ИСО 8601-2001 (aktuální), ГОСТ 7.64-90 (zastaralé)
Jižní Afrika SANS 8601: 2009
Španělsko UNE EN 28601: 1995
Švédsko SS-ISO 8601: 2011 (schváleno 2011-11-01, nahrazuje SS-ISO 8601)
Švýcarsko SN ISO 8601: 2005-08 (nahrazeno SN-EN 28601: 1994)
Tchaj -wan CNS 7648
Thajsko TIS 1111: 2535 (1992)
krocan TS ISO 8601
Ukrajina ISOСТУ ISO 8601: 2010
Spojené království BS ISO 8601: 2004, BS EN 28601 (1989-06-30)
Spojené státy ANSI INCITS 30-1997 (R2008) a NIST FIPS PUB 4-2
Vietnam TCVN 6398-1: 1998

Viz také

Poznámky a reference

externí odkazy

Přehled implementace