ISO 8601 je medzinárodná norma na opis dátumov a časov čo najjednoduchším spôsobom zrozumiteľným pre počítače a interoperabilitu medzi systémami. Norma ukladá pravidlá pre zápis dátumov, časov, kombinácií dátumu a času, trvaní a intervalov tak, aby boli jednoznačné a ľahko spracovateľné.

Táto norma je založená na tom, že najväčšie typy čísel sú na prvom mieste a najmenšie čísla na poslednom. Keďže roky sú väčšie ako mesiace a mesiace sú väčšie ako dni, uvádzajú sa v poradí ROK-MESIAC-DEN (YYYY-MM-DD). Toto poradie zjednodušuje triedenie a vyhľadávanie v súboroch alebo databázach, pretože lexikografické (abecedné) usporiadanie zodpovedá chronologickému poradiu.

Základný dátum ISO pre dnešný deň vyzerá ako 2020-05-23.

Základný čas ISO je 19:29.

Základné a rozšírené formáty

ISO 8601 definuje dva bežné spôsoby zápisu:

  • Rozšírený formát (s oddelovačmi): 2020-05-23 (dátum), 19:29:00 (čas)
  • Základný formát (bez oddelovačov): 20200523 (dátum), 192900 (čas)

Pre kombinovaný zápis dátumu a času sa medzi dátum a čas umiestni písmeno T, napr. 2020-05-23T19:29:00. Tento zápis je bežný v API, súborových logoch a v XML/JSON dátach.

Časové pásma a koordinovaný svetový čas

Čas môže obsahovať informáciu o časovom pásme:

  • Koordinovaný svetový čas (UTC) sa označuje písmenom Z: 2020-05-23T19:29:00Z
  • Posun od UTC sa zapisuje ako +hh:mm alebo −hh:mm: 2020-05-23T21:29:00+02:00

Podporované sú aj zlomky sekundy, napr. 19:29:00.123 a rôzne presnosti podľa potrieb (milisekundy, mikrosekundy).

Týždňové a poradové dátumy

ISO 8601 umožňuje aj alternatívne reprezentácie:

  • Týždenný dátum: rok a číslo týždňa, napr. 2020-W21-6 (6. deň 21. týždňa roku 2020). V ISO týždeň začína pondelkom a týždeň 1 je ten, ktorý obsahuje prvý štvrtok roka (alebo 4. január).
  • Poradový (ordinačný) dátum: rok a poradové číslo dňa v roku, napr. 2020-144 (144. deň roku 2020).

Trvania a intervaly

Norma definuje aj zápis trvaní (durations) a intervalov. Trvanie sa označuje písmenom P a kombinuje roky, mesiace, dni, hodiny atď., napr.: P3Y6M4DT12H30M5S (3 roky, 6 mesiacov, 4 dni, 12 hodín, 30 minút, 5 sekúnd).

Intervaly možno zapisovať ako začiatočný a koncový bod oddelený lomkou alebo ako začiatočný bod plus trvanie: 2020-05-23T19:29:00/2020-05-24T19:29:00 alebo 2020-05-23T19:29:00/P1D.

Výhody a použitie

  • Jednoznačnosť: odstraňuje nejasnosti medzi rôznymi miestnymi formátmi (napr. DD/MM/YYYY vs MM/DD/YYYY).
  • Ľahké triedenie: keď počítač alebo človek zoradí dátumy podľa normy ISO 8601 abecedne, sú zoradené aj chronologicky.
  • Bežné použitie v počítačových systémoch: databázy, API, logy, názvy súborov a protokoly často využívajú ISO 8601 pre spoľahlivú výmenu dát.

Poznámky o bežnom používaní

Ľudia môžu používať aj tieto dátumy, ale v súčasnosti nie je bežné, aby ľudia v ktorejkoľvek krajine písali dátumy podľa tohto štandardu v každodennom živote. Mnohé aplikácie a služby však odporúčajú alebo vynucujú ISO 8601 pre technickú presnosť a medzinárodnú kompatibilitu.

Príklady

  • Dátum (rozšírený): 2020-05-23
  • Čas (rozšírený): 19:29:00
  • Dátum a čas s UTC: 2020-05-23T19:29:00Z
  • Týždeň: 2020-W21-6
  • Poradový deň v roku: 2020-144
  • Trvanie: P1Y2M10DT2H30M

ISO 8601 je robustný a flexibilný štandard, ktorý pomáha predchádzať chybám pri výmene časových údajov medzi rôznymi krajinami a systémami. Pre programátorov, správcov dát a vývojárov API je prakticky štandardnou voľbou pri práci s dátumami a časmi.