ISO 8601 - Google

ISO 8601

Z Wikipedii

Skocz do: nawigacji, szukaj

ISO 8601 to 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 PN-EN 28601:2002[1] (poprzednio PN-90/N-01204), natomiast stosowaniu tego standardu 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).

Spis treści

[edytuj] 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.

[edytuj] 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.

[edytuj] 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.

[edytuj] 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-6.

[edytuj] 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ą cześć, 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.

[edytuj] 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. Czas zimowy w Polsce 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.

[edytuj] Łą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: 2008-05-20T16:54Z.

[edytuj] 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

Funkcja date() w PHP:

<?php
$timeoffset = intval(date("Z"));
echo date("Y-m-d",time()-$timeoffset).'T'.date("H:i:s",time()-$timeoffset).'Z';
echo"\n";
?>

Przypisy


W głębinach odnaleziono Miasto Wężowideł
Unikatową kolonię wężowideł (typ szkarłupnia i krewny rozgwiazdy) odkryto w głębi Oceanu Spokojnego w rejonie subantarktycznym na Grzbiecie Macquarie. Dziesiątki milionów tych kruchych bezkręgowców zamieszkuje podwodne wzgórze - informuje serwis niwa.co.nz.
125-calowy wyświetlacz plazmowy
Prototypowy wyświetlacz plazmowy o przekątnej 125 cali i grubości ekranu wynoszącej zaledwie 1 mm został zaprezentowany przez japoński koncern Shinoda Plasma Corp.
Chińczycy chcą w Polsce kształcić pilotów
Do końca maja Ministerstwo Infrastruktury udzieli odpowiedzi stronie chińskiej na propozycję skierowania na Politechnikę Rzeszowską studentów z Chin i wykształcenia ich na cywilnych pilotów.
Wkrótce na Marsie wyląduje Phoenix
Za kilka dni do pojazdów od dawna eksplorujących powierzchnię Marsa dołączy kolejny. Będzie to amerykański lądownik Mars Phoenix Lander.
Chińska inwazja zagraża europejskim truflom
Sławnym czarnym truflom z Perigord zagraża wyginięcie z powodu inwazji chińskiej odmiany grzyba.
Linki: Strona gwna