ISO 8601-standarden

Jag medger att genomgången jag föreslår inte blir den mest rafflande.

Den har åtminstone fördelen att göra oss bekanta med standarder för datum och närliggande ämnen. Och kanske också få oss att inse att vi (jag själv först, på den här webbplatsen) inte alltid är särskilt noggranna med det som borde vara ”rätt sätt att göra”.

Lite historia

ISO (International Organization for Standardization) bildades officiellt den 23 februari 1947 genom sammanslagningen av två organisationer.

Den ena var ISA (International Federation of the National Standardizing Associations) som, trots att den var baserad i New York, hade ett verksamhetsområde som i stor utsträckning var begränsat till kontinentala Europa.

Den andra var UNSCC (United Nations Standards Coordinating Committee), administrerad från London.

Vid en konferens där medlemsländerna i båda organisationerna deltog (25 länder representerade av 65 delegater), som hölls på Institution of Civil Engineers i London den 14 oktober 1946, fattades beslutet att skapa en ny organisation. Syftet skulle vara att ”underlätta internationell samordning och enhetlighet av industriella standarder”.

Varför ISO? Man hör ofta att det skulle komma från grekiskans isos, som betyder ”lika”. Willy Kuert, den schweiziske delegaten vid Londonkonferensen 1946, uppgav att ”denna aspekt aldrig togs upp i London”. Alltså: det är ISO, punkt. Och det är ISO i alla världens länder. Det är åtminstone vad man kan förvänta sig av en organisation som arbetar med standardisering.

Var ligger ISO:s huvudkontor? Det var nära att hamna i Paris, men till slut valdes Genève med en enda rösts marginal under mötet i London.

© International Organization for Standardization

Det var 1946 som Genève utsågs till ISO:s säte.

Les anciens locaux, photo issue de l'histoire des 50 premières années de la norme, en 1997
Les anciens locaux, photo issue de l'histoire des 50 premières années de la norme, en 1997 © International Organization for Standardization

1956 flyttade ISO till Rue de Varembé och har sedan dess flyttat igen till en helt ny byggnad på 8 Chemin de Blandonnet i Vernier, Schweiz.

Locaux actuels de la norme ISO en Suisse
Locaux actuels de la norme ISO en Suisse © International Organization for Standardization

Hur fungerar ISO?

ISO är en icke-statlig organisation. Den har alltså varken uppdrag eller makt att tvinga fram tillämpning av en standard. Dess uppdrag är att skapa konsensus kring lösningar som svar på behov. Men misstolka inte detta: behoven är reella, och ett lands efterlevnad av standarder är ett tecken på tillförlitlighet och kvalitet.

Via sitt centralsekretariat i Genève samordnar ISO ett nätverk av nationella standardiseringsorgan som i dag omfattar 146 länder. Varje land representeras av en medlem.

Varje medlem kan delta i framtagandet av varje standard som landet anser relevant och har en röst oavsett landets storlek. Äntligen en organisation där jämlikhet inte bara är ett tomt ord.

Hur många standarder tas fram?

Sedan 1947 har ISO publicerat mer än 13 700 internationella standarder. Alla områden berörs:

Utdrag ur en ISO-text: Utan standardiserade mått på fraktcontainrar skulle internationell handel vara långsammare och dyrare. Utan standardisering av telefon- och bankkort skulle livet vara mer komplicerat. Avsaknad av standardisering kan till och med påverka livskvaliteten i sig, till exempel för personer med funktionsnedsättning, om de inte kan få tillgång till konsumtionsprodukter, kollektivtrafik och byggnader därför att rullstols- och dörröppningsmått inte har standardiserats.

Även inom områden där man minst anar det: "Standardisering av gängor hjälper till vid korrekt montering av stolar, barncyklar eller flygplan och löser reparations- och underhållsproblem som tidigare berodde på bristande standardisering och som var ett verkligt huvudbry för både tillverkare och användare."

Om du söker listan över publicerade standarder finns den här.

Hur kommer en standard till?

När vissa industriella, tekniska eller ekonomiska sektorer ser ett värde i att ta fram en standard meddelar de detta till ett nationellt ISO-medlemsorgan, som i sin tur lämnar in begäran till ISO. ISO bedömer relevansen och accepterar eller avslår begäran.

Om begäran godkänns tilldelas arbetet en befintlig teknisk kommitté, eller så skapas en ny.

Den efterfrågade standarden utarbetas av en teknisk kommitté bestående av experter inom området. Andra specialister kan också medverka. Experterna, som utses av det nationella ISO-medlemsorganet i respektive land, deltar inom nationella delegationer, och i jämlikhetens namn ska delegationerna representera samtliga berörda parters intressen.

De nationella expertdelagationerna möts tills konsensus uppnås om ett utkast till överenskommelse.

Utkastet skickas sedan ut (DIS = Draft International Standard) till alla ISO-medlemmar för granskning, kommentarer och omröstning. Om utfallet är positivt skickas dokumentet och eventuella ändringar därefter ut igen (FDIS = Final Draft International Standard) för ytterligare en omröstning. Om det godkänns publiceras dokumentet som en internationell standard.

Till sist: AFNOR är Frankrikes medlemsorgan i ISO (bland annat) och ansvarar för de uppgifter som tilldelats Frankrike i den rollen.

Franska standardiseringsföreningen grundades 1926, är erkänd som allmännyttig och står under tillsyn av det ministerium som ansvarar för industrifrågor. Den har omkring 3 000 medlemsföretag.

Vill du veta mer om AFNOR, klicka här.

ISO 8601-standarden

Om vi vill vara mer precisa bör vi skriva ISO 8601:2000. Versionen från 2000 omfattar nämligen tidigare standarder (ISO8601:1988) samt ytterligare delar.

Titeln är: Data elements and interchange formats - Information interchange - Representation of dates and times.

Många länder har antagit denna standard under egna referenser. Här är en icke uttömmande lista (tack till Ian Galpin och hans information):

Och för europeiska länder som tillämpar EN 28601:

Innehållet i ISO8601:2000

Standarden behandlar följande element:

Jag ska försöka presentera elementen i tabellform. Du har tur: du behöver bara titta på den del som intresserar dig. Själv måste jag gå igenom alltihop. Nåväl, kanske inte precis allt, eftersom jag tillåter mig att rensa lite och behålla de delar som är mest användbara.

Tre anmärkningar innan vi går in i tabellen:

1) De flesta element har en grundrepresentation och en utökad representation för bättre läsbarhet.

2) Jag behåller förkortningarna på engelska:

Y = year
M = month
D = day
w = week
h = hour
m = minute
s = second
n = positiv heltalssiffra eller noll
P = time interval
R = recurring interval indicator
T = separator mellan datum- och tidselement

Z = UTC indicator

3) Standarden använder den gregorianska kalendern, och veckodagarnas numrering definieras så här:

Rang Dag
01 Måndag
02 Tisdag
03 Onsdag
04 Torsdag
05 Fredag
06 Lördag
07 Söndag

Veckan identifieras i året med ett nummer. Årets första vecka (vecka 1) är den som innehåller årets första torsdag. Årets sista vecka är den som föregår nästa års första vecka. Med andra ord är årets första vecka den som innehåller den 4 januari.

I övrigt:

Element Grundformat Utökat format Kommentarer
DATUM
Aktuellt datum YYYYMMDD
20030607

YYYY-MM-DD
2003-06-07
7 juni 2003
Aktuellt datum reducerat till månad YYYY-MM
2003-07
ingen
År YYYY
2003
ingen
Århundrade YY
20
ingen Jag kan leva med det, men...
Aktuellt datum YYMMDD
030607

YY-MM-DD
03-06-07
aktuellt århundrade
Aktuellt datum reducerat till månad -YYMM
-0306
-YY-MM
-03-06
aktuellt århundrade
År -YY
-03
ingen aktuellt århundrade
Dag i månaden --MMDD
--0607
--MM-DD
--06-07
aktuellt år
Månad i året --MM
--06
ingen aktuellt år
Dag i månaden ---DD
---07
ingen aktuell månad
Jag hoppar över årtal över 9999. Vi hinner återkomma till det när vi är där!!
Ordinaldatum YYYYDDD
2003157
YYYY-DDD
2003-157
157:e dagen i år 2003 = 7 juni 2003
Ordinaldatum YYDDD
03157
YY-DDD
03-157
aktuellt århundrade
Aktuell dag i året -157 ingen en enda bindestreck
Veckodatum YYYYWwwD
2003W237
YYYY-Www-D
2003-W23-7
7:e dagen i vecka 23 år 2003
År, vecka, dag YYWwwD
03W237
YY-Www-D
03-W23-7
aktuellt århundrade
År och vecka YYWww
03W23
YY-Www
03-W23
aktuellt århundrade
År, vecka och dag -YWwwD
-3W237
-Y-Www-D
-3-W23-7
år i aktuell dekad
År, vecka -YWww
-3W23
-Y-Www
-3-W23
år i aktuell dekad
Vecka, dag -WwwD
-W237
-Www-D
-W23-7
aktuellt år
Vecka -Www
-W27
ingen aktuellt år
Dag -W-D
-W-5
ingen aktuell vecka
KLOCKSLAG
Lokal tid hhmmss
151225
hh:mm:ss
15:12:25
Timmar och minuter hhmm
1512
hh:mm
15:12
Timme hh
15
ingen
Timmar, minuter, decimalsekunder hhmmss,s s
151224,5
hh:mm:ss,s s
151224,5
Timmar, decimalminuter hhmm,m m
1512,8
hh:mm,m m
15:12,8
Decimaltimme hh,h h
15,25
ingen
Vi tänker inte fördjupa oss i reducerat tidsformat. Du har redan förstått att man bara ersätter det saknade elementet med ett bindestreck (-). Samma princip som för datum.
Midnatt 000000 00:00:00 början av ett dygn
Midnatt 240000 24:00:00 slutet av ett dygn
UTC-tid hhmmssZ
hhmmZ
hhZ
hh:mm:ssZ
hh:mmZ
hhZ
Samma format som lokal tid. Lägg till Z i slutet.
Lokal tid - UTC-förskjutning ±hhmm
±hh
±hh:mm

motsvarar tidszonen: +0100 till exempel
Lokal tid + tidszonskorrigering hhmmss±hhmm
hhmmss±hh
hh:mm:ss±hh:mm
hh:mm:ss±hh
exempel: 15:12:15+01:30
Datum och tid: skriv helt enkelt datumet i ett av formaten ovan och lägg till tiden i ett av tidsformaten. Datumdelen och tidsdelen separeras med ett T. Se nedan.
Datum och tid YYYYMMDDThhmmss
YYYYMMDDThhmmssZ
YYYYMMDDThhmmss±hhmm
YYYYMMDDThhmmss±hh
YYYY-MM-DDThh:mm:ss
YYYY-MM-DDThh:mm:ssZ
YYYY-MM-DThh:mm:ss±hh:mm
YYYY-MM-DDThh:mm:ss±hh

Intervall: ange helt enkelt starttidpunkten (datum, datum-tid...) följt av separatorn / och sedan sluttidpunkten (datum, datum-tid...), till exempel: YYY-MM-DDThh:mm:ss/YYY-MM-DDThh:mm:ss

Om du vill ange intervallens varaktighet i stället för start- och slutdatum räcker det att markera att det är ett intervall med prefixet P.

Exempel: P5Y6M3DT15H10M20S (5 år 6 månader 3 dagar 15 timmar 10 minuter 20 sekunder). Glöm inte P som markerar att det är ett tidsintervall.

P7W: 7 veckor.

Självklart kan man kombinera startdatum och varaktighet, eller varaktighet och slutdatum.

Till exempel betyder 2003-06-06T12:00:00/P0Y0M0DT00:03:00 att ett ägg vars kokning börjar den 6 juni 2003 klockan 12:00 är färdigkokt tre minuter senare. Löskokt, förstås!

Och inget hindrar dig från att skriva 2003-06-06T12:00:00/2003-06-06T12:03:00. Resultatet blir detsamma.

Om du vill ha längre koktid, skriv 20030606T120000/20030606T120300, för medan man håller på att tyda det ... har de tre minuterna redan gått!