ISO 8601
Data | 2024-12-22 |
Data i godzina (UTC) | 2024-12-22T01:32:26Z |
ISO 8601 to międzynarodowa norma ISO określająca sposób zapisu danych powiązanych z datą i czasem. Celem standardu jest zapewnienie jednoznacznej i dobrze zdefiniowanej metody reprezentacji dat i godzin tak, aby uniknąć błędnej interpretacji zwłaszcza w przypadku gdy dane te przesyłane są między krajami o różnych konwencjach zapisu liczbowego dat i godzin.
Zasady
- Poszczególne wartości daty i godziny są uporządkowane od najbardziej do najmniej znaczącej jednostki czasu: rok, miesiąc, dzień, godzina, minuta, sekunda. Porządek ten odpowiada porządkowi chronologicznemu, co pozwala na naturalne sortowanie dat w systemach plików i tabelach.
- Każda wartość ma stałą liczbę cyfr, które należy uzupełnić wiodącymi zerami (np. dziewiąta rano to 09:00). Rok powinien być zapisany czterema cyframi: 69 rok n.e. to 0069.
- W samej reprezentacji tekstowej zalecane jest stosowanie separatorów między poszczególnymi jednostkami: zgodnie z normą łącznik (dywiz) między jednostkami daty, dwukropek między jednostkami czasu.
- Zapis czasu powinien być 24-godzinny (dziesiąta wieczorem to 22:00).
Data
W praktyce najważniejszą cechą standardu jest zachowanie kolejności rok-miesiąc-dzień: niezależnie od zastosowanych separatorów, format 2006-05-01 czy 2006.05.01 czy nawet 2006/05/01 jest jednoznaczny i nie budzi wątpliwości, że chodzi o 1 maja 2006. W przypadku zastosowania innej kolejności, jak na przykład 01-05-2006 istnieje niejednoznaczność: czy jest to data w formacie europejskim, i oznacza ona 1 maja, czy jest to data w formacie amerykańskim, i oznacza ona 5 stycznia roku 2006? Sytuacja jeszcze bardziej się komplikuje, gdy rok zapiszemy wyłącznie przy użyciu dwóch cyfr: 01-05-06. Wówczas może chodzić zarówno o 6 maja 2001, 6 maja 1901, 1 maja 2006, 1 maja 1906, 5 stycznia 2006, 5 stycznia 1906.
Samo zastosowanie kolejności zgodnej ze standardem ISO 8601 oraz użycie czterocyfrowego zapisu roku pozwala uniknąć większości niejednoznaczności wynikających z różnych sposobów zapisu daty.
Godzina
Przed godziną czasami zapisuje się literę T, by doprecyzować, że chodzi właśnie o godzinę (zwłaszcza się tego używa jako separator, gdy występuje zaraz po dacie).
W przypadku godziny stosowany jest system 24-godzinny z zerami wiodącymi: 09:00 oznacza wyłącznie dziewiątą rano, zaś 21:00 – dziewiątą wieczorem (dwudziestą pierwszą). Jeśli dana godzina jest wyrażona w czasie UTC, na końcu dopisuje się Z (skrót od zero UTC offset). W przeciwnym wypadku zakłada się, że godzina jest przedstawiona w czasie lokalnym.
W celu doprecyzowania można na końcu dodać przesunięcie względem czasu UTC wynikające z danej strefy czasowej. Przykładowo, Polska podczas czasu letniego (stan na rok 2024) jest przesunięta o dwie godziny do przodu względem UTC, zatem godzina dwunasta w Polsce w lecie może być zapisana 12:00+02. W przypadku, gdy przesunięcie jest w przeciwną stronę, stosuje się do tego celu znak minus: 08:00−02. Gdy zestaw znaków jest ograniczony (np. ASCII) wówczas zaleca stosowanie się w tym celu łącznika. Można również stosować +00 zamiast Z w celu oznaczenia czasu UTC.
Użycie
ISO 8601 użyto w oznaczeniach poszczególnych wersji programu Symulator ZioPenga i Mruczka.