ISO 8601

ISO 8601 er den internasjonale standarden for skrivemåte og utveksling av data om tid og dato. Standard skrivemåte for dato er YYYY-MM-DD og for tid hh:mm:ss, og følger dermed det samme posisjonssystem som de fleste tallsystemer forøvrig (f.eks. titallsystemet) ved at verdien til hvert siffer avhenger av posisjonen til tallet i synkende rekkefølge, for både dato og klokkeslett. Dato og klokkeslett separeres med en enkel T.
Norge har akseptert standarden og innlemmet den i Norsk Standard som «NS-ISO 8601:2019».


== Historie ==
Internett og moderne datasystemer har gjort at kommunikasjonene verden over blir stadig raskere, enklere og mer brukt. Globale systemer (for eksempel GPS) opererer også i sanntid. 
For bedrifter der transportsystemer, kvalitetskontroll og lignende er av avgjørende betydning, er det særlig viktig med en felles forståelse av tidspunkter. Også i vitenskapelig sammenheng (astronomi, arkeologi m.v.) er det viktig at dato og tidspunkter er entydige. 
Det var i erkjennelsen av disse forhold at ISO 8601 ble konstruert.
Den eldre 2004-revisjonen tillot at et mellomrom under noen omstendigheter kunne brukes istedenfor bindestrek..
Nåværende versjon er fjerde utgave, . Den erstattet tredje utgave, ISO 8601:2004. Første utgaven var ISO 8601:1988. Standarden sammenfatter flere tidligere standarder, bl.a. ISO 2014 (numerisk notasjon for datoer) og ISO 2015 (ukenummer), som begge kom i første utgave i 1971.


== Prinsipp ==
Datoer og tid skal skrives utelukkende med siffer, de enkelte elementene kan separeres med gitte separatortegn. Betegnelsene kan forkortes ved at de minste elementene utelates. For eksempel 14:30 for klokken halv tre på ettermiddagen og 2006-05 for mai måned 2006. For høyere presisjon, for eksempel deler av sekunder, skal disse delene være desimaler av tallet og separeres med . (punktum) eller , (komma). For eksempel 14:30:25,32 for 32 hundredeler mere enn 25 sekunder.
Døgnet er inndelt i 24 timer.
Standarden bruker den gregorianske kalenderen.
År 0001 samsvarer med år 1 e.Kr.. Året før dette er år 0000, som samsvarer med år 1 f.Kr.. Året før der igjen er år -0001, som samsvarer med år 2 f.Kr. 


== Dato ==


=== Kalender ===


=== Kalenderdatoer ===
Standarden tillater å utelate separatortegnene i et datautvekslingsformat, for eksempel 20060515 for 2006-05-15 eller 15. mai 2006. Standarden tillater også å fjerne de minste elementene, for eksempel 2006-05 for mai 2006 eller bare 2006 for året 2006.


=== Ukedatoer ===
Ukedatoer kan brukes i arbeidslivet, der arbeidsuker overlapper årsskiftet. «YYYY» indikerer et ISO-år. «W» indikerer at de to neste siffer («ww») er ukenummeret i dette året (01 – 52 eller 01 – 53). «D» markerer ukedagene fra 1 til 7, der 1 er mandag, og 7 er søndag. Ukenummereringen er slik at uken skal tilhøre det året som de fleste ukedagene er i, uka vil altså tilhøre samme år som torsdagen. For eksempel vil mandag 29. desember 2008 bli skrevet 2009-W01-1, og søndag 3. januar 2010 bli skrevet 2009-W53-7.


=== Dagnummerdatoer ===
Dagnummerdatoer er ment for programmereres bruk i enkle systemer, der man for eksempel bare skal beregne differensen mellom to datoer. YYYY indikerer året, og DDD indikerer dagnummeret i året. For eksempel vil «1981-04-05» skrives 1981-095.


== Klokkeslett ==
I ISO 8601 er døgnet inndelt i 24 timer. Formatet er hhmmss eller med separatorer hh:mm:ss. hh er timer mellom 00 og 24, hvor 24 bare blir brukt til å markere sluttpunktet på døgnet.  mm er minutter fra 00 til og med 59. ss er sekunder fra 00 til og med 59 (eller unntaksvis 60 i det tilfelle at året blir tillagt et ekstra sekund på grunn av minsket jordrotasjon – skuddsekund). Så et klokkeslett kan betegnes som 13:47:30, eller 134730.
Også her er det tillatt å utelate de minste elementene for mindre presisjon, for eksempel hh:mm eller bare hh.
Desimaldeler av de enkelte elementene kan også brukes. Disse skal da separeres med punktum (.) eller komma (,). Desimaldeler kan bare tildeles det mest presise (siste) elementet. For eksempel vil 14:30,5 tilsvare 14:30:30. 14:30:30,25 vil si 25 hundredeler i tillegg. 
Midnatt er et unntakstilfelle og kan skrives både 00:00 og 24:00. Skrivemåten 00:00 blir brukt for begynnelsen av døgnet, og er det mest vanlig brukte. 24:00 brukes bare for å markere slutten på et døgn. 1981-04-05T24:00 er det samme tidspunktet som 1981-04-06T00:00.


=== Tidssoner ===
Hvis ingen tidssone er angitt er det underforstått at tiden er angitt i den lokale tidssonen. Ved utveksling av tidspunkt mellom ulike soner er det imidlertid nødvendig å angi hvilken sone som tidspunktet gjelder for. 


==== UTC ====
Hvis tidspunktet er angitt i UTC, er det enkelt å angi dette ved å tilføye en Z umiddelbart etter tidspunktet (uten mellomrom). «09:30 UTC» vil derfor skrives som 09:30Z eller 0930Z. «14:45:15 UTC» skrives enten 14:45:15Z eller 144515Z.


==== Andre tidssoner ====
Andre tidssoner blir spesifisert relativt til UTC, med formatet ±hh:mm, ±hhmm, vanligst bare ±hh. Så hvis tidssonen er en time foran UTC (som for eksempel i Norge om vinteren) blir tilføyelsen +01:00, +0100, vanligst +01. Dette blir tilføyd på samme sted som Z ovenfor (umiddelbart etter klokkeslettet). Om sommeren (sommertid) skal man i Norge tilføye +02. Tidspunktet 18:30Z og 20:30+02 er altså nøyaktig det samme.


== Kombinerte presentasjoner ==
Når dato og tid skal presenteres samtidig, skilles de med bokstaven T.  Formatet blir da dato>T<tid>. I den tidligere ISO 8601:2004 standarden var det tillatt å bruke et enkelt mellomrom, men det ble ikke lenger tillatt fra 2019-revisjonen av standarden.  
Et fullstendig tidspunkt (inkludert tidssone vil da bli YYYY-MM-DDThh:mm:ss±hh, eksempel:  1981-04-05T14:30:30+02 eller  YYYY-MM-DDThh:mm:ss±hh, eksempel:  1981-04-05T14:30:30+02.


== Varighet (periode) ==
Varighet blir presentert i formatet PnYnMnDTnHnMnS (nM kan erstattes med nW ved bruk av  uke datoformat.)  I denne presentasjonen skal n være antallet i det etterfølgende element (utfyllende nuller kan brukes for å avklare tvetydige tidspunkter)  De store bokstavene (P, Y, M, W, D, T, H, M, og S) skal alltid brukes som de står.  Slik vil P3Y6M4DT12H30M0S definere en periode på "tre år, seks måneder, fire dager, tolv timer, tretti minutter og null sekunder".  Elementer kan utelates hvis verdien er null.  Alternativt kan et format mere likt kombinert presentasjon benyttes. Eksempelet over kan da skrives som P0003-06-04T12:30:00.


== Tidsintervall ==
Tidsintervaller kan skrives på fire måter:

Start og slutt, for eksempel: 2002-03-01T13:00:00Z/2003-05-11T15:30:00Z
Start og intervall, for eksempel: 2002-03-01T13:00:00Z/P1Y2M10DT2H30M
Intervall og slutt, for eksempel: P1Y2M10DT2H30M/2003-05-11T15:30:00Z
Bare intervall, for eksempel: P1Y2M10DT2H30MDe tre første må separeres med en indikator som vanligvis er en skråstrek  (/).  Dobbel bindestrek (--) er også tillatt, men anbefales ikke. Et eksempel på korrekt skrivemåte er:  1981-04-05T14:30:30-05:00/2004-07-14T15:30:30-05:00. Hvis noen elementer i den siste delen mangler, antas de å ha samme verdier som i første element (inkludert tidssone). 


=== Gjentatte intervaller ===
Gjentatte intervaller blir uttrykt ved å tilføye Rn/ i begynnelsen av uttrykket, hvor R viser at det er en gjentagelse og n angir antallet repetisjoner.  Dersom n utelates, angir verdien et uendelig antall repetisjoner. Dersom intervallet P1Y2M10DT2H30M skal gjentas fem ganger med start  2002-03-01T13:00:00Z, blir uttrykket R5/2002-03-01 13:00:00Z/P1Y2M10DT2H30M.


== Utgåtte standarder ==
Standardene ISO 2014, ISO 2015, ISO 2711, ISO 3307 og ISO 4031 er alle blitt erstattet av ISO 8601.


== Annet ==
En problemstilling man unngår med bruk av denne standarden:

UDIs saksbehandler visste ikke at amerikanerne skriver måned før dato. I stevningen fra domstolen var vitneavhøret fastsatt til 05.12.06. Det ble i UDI tolket som 5. desember, mens det var 12. mai.


== Se også ==
Ukedager
Ukenummer
Påskeformelen
Søndagsbokstav
Gyldentall
Solsyklus


== Referanser ==


== Eksterne lenker ==
ISO 8601:2004(E) fra OMG (pdf, 294KB)
ISO 8601:2004(E) fra ISO (zip-pdf, 228KB)
Oppsummering av standarden ISO 8601 av ISO
Technical Committee ISO/TC 154, Processes, data elements and documents in commerce, industry and administration.
International Date Format Campaign for ISO 8601
ISO 8601 Land som har akseptert ISO 8601
ISO 8601 Åpen diskusjon om praktisk bruk/nytte av ISO 8601