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.