ISO 8601

Z MruczekWiki
Aktualna data i godzina (ISO 8601)
Data 2024-11-05
Data i godzina (UTC) 2024-11-05T12:44:02Z

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.