Iso 8601: Międzynarodowa norma ISO określająca sposób zapisu daty i czasu

ISO 8601 – międzynarodowa norma ISO określająca sposób zapisu daty i czasu.

Obecna wersja (ISO 8601:2004) jest trzecią edycją dokumentu, datowaną na 2004-12-03. Zastępuje ona pierwszą edycję – ISO 8601:1988 – oraz drugą edycję – ISO 8601:2000. Polski odpowiednik to norma PN-EN 28601:2002 (poprzednio PN-82/01204 i PN-90/N-01204) wycofana w dniu 2008-05-29 bez zastąpienia. Stosowaniu standardu ISO 8601 w protokołach internetowych poświęcony jest RFC 3339 ↓.

Podstawowa koncepcja tego standardu polega na ustaleniu momentu w czasie z dokładnością ustaloną przez użytkownika za pomocą odpowiednio sformatowanych ciągów znaków ustawionych w porządku od najbardziej znaczących (rok) do najmniej znaczących (sekundy bądź ich części). Norma określa numeryczny format daty i czasu (bez używania nazw miesięcy, dni tygodnia czy literowych oznaczeń czasu przed lub po południu).

Zapis daty

W standardzie ISO 8601 daty mogą być przedstawione na trzy różne sposoby: daty kalendarzowe, daty porządkowe i daty tygodniowe. Standard korzysta z kalendarza gregoriańskiego. Należy zwrócić uwagę, że rok 0001 w standardzie ISO 8601 oznacza 1 rok n.e., poprzedni – 0000 – oznacza rok 1 p.n.e., a –0001 to rok 2 p.n.e. itd. Dla uniknięcia dwuznaczności rok powinien być zapisywany za pomocą czterech cyfr.

Daty kalendarzowe

Data kalendarzowa to data, w której dzień jest liczony kolejno w każdym miesiącu. Np. 2 stycznia to data kalendarzowa. W standardzie ISO 8601 data kalendarzowa ma format YYYY-MM-DD, czyli 2 dzień stycznia w roku 2005 zapisywany jest jako 2005-01-02. Można również opuścić separatory, zapisując datę w sposób 20050102. Format z separatorami to format rozszerzony, a bez to format podstawowy. Standard pozwala na przedstawianie dat z mniejszą precyzją: można zapisać 2005-01, co oznacza styczeń roku 2005.

Daty porządkowe

Data porządkowa to taka, w której dzień jest przedstawiony jako kolejny w całym roku, za pomocą trzech znaków z wiodącymi zerami. 2 stycznia to 002, 1 lutego to 032, itd. 31 grudnia to 365 lub 366 w latach przestępnych. Data porządkowa ma format YYYY-DDD. 2 stycznia 2005 zapisywany jest jako 2005-002, a w formacie podstawowym 2005002.

Daty tygodniowe

Data tygodniowa to taka, w której dzień jest oznaczany jako kolejny w kolejnym tygodniu roku. Tydzień oznaczany jest dwiema cyframi od 01 do 52 lub 53. Dzień oznaczany jest jedną cyfrą, od 1 – poniedziałek do 7 – niedziela. Format daty tygodniowej to YYYY-Www-D. Np. 2 lutego 2005 to 2005-W05-3 lub w zapisie podstawowym 2005W053 – trzeci dzień (środa) piątego tygodnia roku 2005.

Pierwszy tydzień roku to taki, w którym są przynajmniej 4 dni stycznia. Inaczej mówiąc, taki, w którym jest pierwszy czwartek stycznia lub dzień 4 stycznia. To oznacza, że tydzień 01 może zawierać dni z poprzedniego roku, a tydzień 53 – dni z następnego roku. Np. 1 stycznia 2005 wypadł w sobotę, więc 2004-W53 trwa od 27 grudnia 2004 do 2 stycznia 2005, a 2005-W01 zaczyna się 3 stycznia 2005 roku. Data kalendarzowa 2005-01-02 to data tygodniowa 2004-W53-7.

Zapis czasu

Standard używa czasu 24-godzinego. Format podstawowy to hhmmss, a rozszerzony to hh:mm:ss. Można oczywiście użyć mniejszej precyzji: hh:mm, hhmm lub hh.

Można również używać części sekund, minut lub godzin, zaznaczając to znakiem dziesiętnym: kropką lub przecinkiem w zależności od lokalnych ustaleń. Dzielić można tylko najmniej znaczącą część, więc, zapisując np. 14 godzin, 30 i pół minuty, nie umieszczamy sekund: 14:30,5.

Północ oznaczana jest zarówno 00:00 jak i 24:00. Np. 24:00 31 grudnia 2004 to ten sam moment co 00:00 1 stycznia 2005.

Strefy czasowe

Oznaczenia czasu UTC dokonuje się przez umieszczenie litery Z po czasie. Np. godzina 9:30 czasu UTC oznaczana jest 09:30Z lub 0930Z.

Inne strefy czasowe oznacza się, zaznaczając ich przesunięcie (offset) względem czasu UTC, w formacie ±hh:mm, ±hhmm lub ±hh. Standardowy czas geograficzny w Polsce (zwany zwyczajowo czasem zimowym) jest przesunięty o godzinę do przodu w stosunku do czasu UTC, a czas letni – o dwie godziny. Godzina 15:30 w Polsce w zimie zapisywana jest jako 15:30+01 i oznacza ten sam czas co 14:30Z.

Łączny zapis daty i czasu

Łącznie datę i czas w standardzie ISO 8601 zapisuje się, wstawiając literę T między zapis daty i czasu. Powszechnie używany jest zapis YYYY-MM-DDThh:mm:ss±hh:mm, np. 2005-01-02T03:01:45+01:00. Dopuszczalne i stosowane jest także rozdzielanie daty od czasu przy pomocy spacji: YYYY-MM-DD hh:mm:ss ±hh:mm.

Aktualny czas UTC podany w rozszerzonym wariancie standardu ISO 8601: 2024-03-28T15:47:32Z [Odśwież]

Przykłady użycia

Polecenie date w konsoli systemów z rodziny Unix:

echo "Format rozszerzony YYYY-MM-DDThh:mm:ssZ" date -u +%Y-%m-%dT%H:%M:%SZ echo "Format podstawowy YYYYMMDDThhmmssZ" date -u +%Y%m%dT%H%M%SZ echo "Format podstawowy mniejszej precyzji YYYYMMDDThhmm" date -u +%Y%m%dT%H%MZ # date -I[FORMAT], --iso-8601[=FORMAT]  wypisanie daty/czasu w formacie ISO 8601. # FORMAT=„date” dla podania samej daty (tryb domyślny), „hours” (godziny), „minutes”, # „seconds” albo „ns” dla podania daty i czasu z pożądaną dokładnością. date --iso-8601="minutes" 

Funkcja date() w PHP:

 $timeoffset = intval(date("Z")); echo date("Y-m-d\TH:i:s\Z",time()-$timeoffset); echo"\n"; // PHP 5 lub nowsze: echo date("c"); // 2004-02-12T15:19:21+00:00 echo"\n"; ?> 

Funkcja Date#toISOString() w JavaScript:

let date = new Date('05 October 2011 14:48 UTC')  console.log(date.toISOString()) // powinno wyświetlić w konsoli 2011-10-05T14:48:00.000Z 

Przypisy

Linki zewnętrzne

Tags:

Iso 8601 Zapis datyIso 8601 Zapis czasuIso 8601 Łączny zapis daty i czasuIso 8601 Przykłady użyciaIso 8601 PrzypisyIso 8601 Linki zewnętrzneIso 8601Międzynarodowa Organizacja NormalizacyjnaNorma (technika)

🔥 Trending searches on Wiki Polski:

AngliaIrlandiaAndrzej SewerynFC BarcelonaSzwecjaMichał KoterskiTadżykistanCynizmMercedes-Benz klasy CCameron DiazRonaldinhoJakub WawrzyniakMauritiusDywizjon 303Polska Zjednoczona Partia RobotniczaFAndrzej StrejlauPaul AtrydaMery SpolskyAllegro (portal internetowy)Jan Bednarek (piłkarz)Leszek BugajskiWładimir PutinSzewron (naszywka)Konfederacja Wolność i NiepodległośćPolskie Linie Lotnicze LOTNikita ChruszczowAleksander FredroFacebookVa banque (teleturniej)DunajRafał ZiemkiewiczSyriaCeltowieLeonardo da VinciIeyasu TokugawaFrancis Scott KeyWitold PileckiRadosław KotarskiOdwilż (serial telewizyjny 2022)FagataDiana (1940)Jadwiga AndegaweńskaMercedes-Benz klasy EEuzebiusz SmolarekAzerbejdżanII RzeczpospolitaDubajAntarktydaPiotr Zieliński (piłkarz)Ku Klux KlanArtur BorucFrank HerbertRzut karny (piłka nożna)Południowa AfrykaTenisZamek w StobnicyGordon SingletonMarek BalawajderStellantisNiemcyWojciech GolaMistrzostwa Europy w Piłce Nożnej 2008Łukasz MejzaFlaga WaliiAlfabet polskiMiG-31Reprezentanci Polski w piłce nożnej mężczyznBuddaBerlinMiami OpenAndrzej BanasiakEdward GierekFederalna Służba Bezpieczeństwa Federacji RosyjskiejJacek KiełbXHamsterFrancis Scott Key BridgeSanah🡆 More