ISO 8601-standarden

Jeg indrømmer gerne, at den gennemgang, jeg foreslår, ikke bliver særlig spændende.

Til gengæld giver den os mulighed for at lære standarderne for datoer og beslægtede emner at kende. Og måske også for at konstatere, at vi (mig selv først på dette site) ikke altid respekterer det, der burde være „den rigtige måde at gøre tingene på“.

Lidt historie

ISO (International Organization for Standardization) blev officielt oprettet den 23. februar 1947 ved en sammenslutning af to organisationer.

Den ene var ISA (International Federation of the National Standardizing Associations), som, selv om den havde base i New York, primært virkede i det kontinentale Europa.

Den anden var UNSCC (United Nations Standards Coordinating Committee) med administration i London.

Under en konference med alle medlemslandene fra begge organisationer (25 lande repræsenteret af 65 delegerede), afholdt på Institution of Civil Engineers i London den 14. oktober 1946, blev beslutningen om at oprette en ny organisation truffet. Formålet var at „lette den internationale koordinering og ensretning af industrielle standarder“.

Hvorfor ISO? Det siges ofte, at navnet kommer fra græsk, isos, som betyder „lige“. Willy Kuert, schweizisk delegeret på konferencen i London i 1946, sagde dog, at „det aspekt overhovedet ikke blev nævnt i London“. Så det er ISO, og sådan er det. Og sådan er det i hele verden. Det er vel det mindste, man kan forvente af en organisation, der arbejder med standardisering.

Hvor ligger ISO's hovedsæde? Det var tæt på at havne i Paris, men i sidste ende blev det med én stemmes flertal på mødet i London besluttet, at det skulle ligge i Genève.

© International Organization for Standardization

I 1946 blev Genève udpeget som ISO's hovedsæde.

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

I 1956 flyttede ISO ind på Rue de Varembé og er siden flyttet til en helt ny bygning på 8 Chemin de Blandonnet i Vernier i Schweiz.

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

Hvordan fungerer ISO?

ISO er en ikke-statslig organisation. Den har derfor hverken mandat eller magt til at påtvinge nogen at anvende en standard. Dens opgave er at skabe konsensus om løsninger som svar på konkrete behov. Men man skal ikke tage fejl: behovene er reelle, og et lands efterlevelse af standarder er et kvalitets- og pålidelighedstegn.

Via sit centrale sekretariat i Genève koordinerer ISO et netværk af nationale standardiseringsorganer, som i dag omfatter 146 lande. Hvert land er repræsenteret af ét medlem.

Hvert medlem kan deltage i udarbejdelsen af de standarder, det vurderer som nødvendige for sit land, og har én stemme uanset landets størrelse. Endelig en organisation, hvor lighed ikke bare er tomme ord.

Hvor mange standarder bliver der lavet?

Siden 1947 har ISO udgivet mere end 13.700 internationale standarder. Alle områder er berørt:

Uddrag af en ISO-tekst: Uden standardiserede mål for fragtcontainere ville international handel være langsommere og dyrere. Uden standardisering af telefon- og bankkort ville hverdagen være mere besværlig. Manglende standardisering kan endda påvirke livskvaliteten, for eksempel for personer med handicap, hvis de ikke kan få adgang til forbrugsvarer, offentlig transport og bygninger, fordi mål for kørestole og åbninger ikke er standardiseret.

Selv dér, hvor man mindst ville forvente det: "Standardisering af gevind hjælper med korrekt samling af stole, børnecykler og fly og løser reparations- og vedligeholdelsesproblemer, som tidligere opstod på grund af manglende standardisering og var et reelt hovedbrud for både producenter og brugere."

Hvis du leder efter listen over offentliggjorte standarder, er den her.

Hvordan bliver en standard til?

Når bestemte industrielle, tekniske eller økonomiske sektorer ser en fordel i at få udarbejdet en standard, meddeler de det til et nationalt ISO-medlem, som sender anmodningen videre til ISO. ISO vurderer så relevansen og accepterer eller afviser anmodningen.

Hvis anmodningen accepteres, lægges arbejdet med standarden hos en eksisterende teknisk komité eller en nyoprettet komité.

Den ønskede standard udarbejdes af en teknisk komité bestående af fagfolk på området. Andre specialister kan også inddrages. Eksperterne udvælges af det nationale ISO-medlem i det pågældende land og deltager i arbejdet via nationale delegationer. Og i lighedens navn skal delegationerne repræsentere alle berørte parters interesser.

De nationale ekspertdelegationer mødes, indtil der er konsensus om et aftaleudkast.

Dette udkast sendes (DIS = Draft International Standard) til alle ISO-medlemmer med henblik på gennemlæsning, kommentarer og afstemning. Hvis afstemningen er positiv, sendes dokumentet og eventuelle ændringer videre (FDIS = Final Draft International Standard) til en ny afstemning. Hvis udfaldet igen er positivt, offentliggøres dokumentet som international standard.

Afslutningsvis kan det nævnes, at AFNOR-gruppen er Frankrigs ISO-medlem (blandt andet) og varetager de opgaver, der følger med den rolle.

Den franske standardiseringsorganisation blev oprettet i 1926; den er anerkendt som samfundsnyttig og hører under det ministerium, der har ansvar for industrien. Den har omkring 3.000 medlemsvirksomheder.

Du kan læse mere om AFNOR her.

ISO 8601-standarden

Hvis vi skulle være helt præcise, burde vi skrive ISO 8601:2000. 2000-„versionen“ bygger nemlig på tidligere standarder (ISO8601:1988) samt nogle ekstra elementer.

Dens titel er: Dataelementer og udvekslingsformater - Informationsudveksling - Repræsentation af dato og klokkeslæt.

Mange lande har overtaget standarden under deres egne referencebetegnelser. Her er en ikke-udtømmende liste (tak til Ian Galpin og hans oplysninger):

Og for de europæiske lande, der anvender EN 28601:

Indhold i ISO8601:2000

Standarden dækker følgende elementer:

Jeg vil forsøge at præsentere disse elementer i tabelform. Du er heldig: du behøver kun at gå til den del, der interesserer dig. Jeg må derimod igennem det hele! Nå, måske ikke helt, for jeg tillader mig at rydde lidt op og kun beholde de nyttige elementer, så resten bliver enklere.

Tre bemærkninger, før vi går til tabellen:

1) De fleste elementer har både en grundrepræsentation og en udvidet repræsentation for at gøre dem lettere at læse.

2) Jeg beholder forkortelserne på engelsk, altså:

Y = år
M = måned
D = dag
w = uge
h = time
m = minut
s = sekund
n = positivt heltal eller nul
P = tidsinterval
R = indikator for gentaget interval
T = separator mellem dato- og tidselementer

Z = UTC-indikator

3) Standarden bruger den gregorianske kalender, og nummereringen af ugedagene er som følger:

Rang Dag
01 Mandag
02 Tirsdag
03 Onsdag
04 Torsdag
05 Fredag
06 Lørdag
07 Søndag

Ugen identificeres i året med et nummer. Årets første uge (uge 1) er den uge, der indeholder årets første torsdag. Årets sidste uge er den, der ligger lige før næste års første uge. Med andre ord er årets første uge den, der indeholder den 4. januar.

For resten:

Element Grundformat Udvidet format Bemærkninger
DATOER
Aktuel dato YYYYMMDD
20030607

YYYY-MM-DD
2003-06-07
7. juni 2003
Aktuel dato reduceret til måned YYYY-MM
2003-07
ingen
År YYYY
2003
ingen
Århundrede YY
20
ingen Tja, hvis I siger det...
Aktuel dato YYMMDD
030607

YY-MM-DD
03-06-07
nuværende århundrede
Aktuel dato reduceret til måned -YYMM
-0306
-YY-MM
-03-06
nuværende århundrede
År -YY
-03
ingen nuværende århundrede
Dag i måneden --MMDD
--0607
--MM-DD
--06-07
nuværende år
Måned i året --MM
--06
ingen nuværende år
Dag i måneden ---DD
---07
ingen nuværende måned
Jeg springer årstal over 9999 over her. Dem kan vi vende tilbage til, når vi når så langt!!
Ordinaldato YYYYDDD
2003157
YYYY-DDD
2003-157
157. dag i året 2003 = 7. juni 2003
Ordinaldato YYDDD
03157
YY-DDD
03-157
nuværende århundrede
Dag i det aktuelle år -157 ingen enkelt bindestreg
Ugedato YYYYWwwD
2003W237
YYYY-Www-D
2003-W23-7
7. dag i uge 23 i året 2003
År, uge, dag YYWwwD
03W237
YY-Www-D
03-W23-7
nuværende århundrede
År og uge YYWww
03W23
YY-Www
03-W23
nuværende århundrede
År, uge og dag -YWwwD
-3W237
-Y-Www-D
-3-W23-7
År i det aktuelle årti
År, uge -YWww
-3W23
-Y-Www
-3-W23
År i det aktuelle årti
Uge, dag -WwwD
-W237
-Www-D
-W23-7
nuværende år
Uge -Www
-W27
ingen nuværende år
Dag -W-D
-W-5
ingen nuværende uge
TIDSPUNKTER PÅ DØGNET
Lokal tid hhmmss
151225
hh:mm:ss
15:12:25
Timer og minutter hhmm
1512
hh:mm
15:12
Time hh
15
ingen
Timer, minutter, decimalsekunder hhmmss,s s
151224,5
hh:mm:ss,s s
151224,5
Timer, decimalminutter hhmm,m m
1512,8
hh:mm,m m
15:12,8
Decimaltime hh,h h
15,25
ingen
Vi dvæler ikke ved det "reducerede format" for tider. Du har allerede forstået, at man blot erstatter det manglende element med en bindestreg (-). Det er samme princip som for datoer.
Midnat 000000 00:00:00 begyndelsen af et døgn
Midnat 240000 24:00:00 slutningen af et døgn
Tid i UTC hhmmssZ
hhmmZ
hhZ
hh:mm:ssZ
hh:mmZ
hhZ
Samme format som lokal tid. Tilføj Z til sidst.
Forskel mellem lokal tid og UTC ±hhmm
±hh
±hh:mm

svarer til tidszonen: fx +0100
Lokal tid + tidszonekorrektion hhmmss±hhmm
hhmmss±hh
hh:mm:ss±hh:mm
hh:mm:ss±hh
fx: 15:12:15+01:30
Dato og tid: skriv blot datoen i et af de viste formater og tilføj tiden i et af de viste tidsformater. Datodelen og tidsdelen adskilles af et T. Se nedenfor.
Dato og 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

Intervaller: Du angiver blot starttidspunktet (dato, dato og tid osv.), derefter separatoren / og så sluttidspunktet (dato, dato og tid osv.), hvilket for eksempel kan være: YYY-MM-DDThh:mm:ss/YYY-MM-DDThh:mm:ss

Hvis du vil angive intervallets varighed i stedet for start- og slutdato, markerer du det som et interval med præfikset P.

Eksempel: P5Y6M3DT15H10M20S (5 år 6 måneder 3 dage 15 timer 10 minutter 20 sekunder). Glem ikke P, som markerer, at der er tale om et tidsinterval.

P7W: 7 uger.

Der er selvfølgelig intet i vejen for at kombinere startdato og varighed eller varighed og slutdato.

For eksempel betyder 2003-06-06T12:00:00/P0Y0M0DT00:03:00, at et æg, der sættes over den 6. juni 2003 kl. 12.00, er færdigt tre minutter senere. Blødkogt, naturligvis!!

Og du kan lige så godt skrive 2003-06-06T12:00:00/2003-06-06T12:03:00. Resultatet bliver det samme.

Hvis du vil have længere kogetid, så skriv 20030606T120000/20030606T120300, for når du først har tydet det... er de tre minutter allerede gået!