A norma ISO 8601

Admito que o estudo que lhe proponho não vai ser apaixonante.

Terá, pelo menos, a vantagem de nos dar uma visão das normas sobre datas e outros formatos. E talvez permita constatar que nós (eu, o primeiro neste site) não respeitamos muito aquilo que deveria ser uma «maneira de fazer».

Um pouco de história

A ISO (Organização Internacional de Normalização) nasceu oficialmente a 23 de fevereiro de 1947, da união de duas organizações.

Uma era a ISA (Federação Internacional das Associações Nacionais de Normalização), que, embora estivesse sediada em Nova Iorque, tinha um campo de atividade limitado à Europa continental.

A outra era a UNSCC (Comité de Coordenação da Normalização das Nações Unidas), administrada a partir de Londres.

Foi durante uma conferência que reuniu todos os países membros das duas organizações (25 países representados por 65 delegados), realizada no Instituto dos Engenheiros Civis em Londres, a 14 de outubro de 1946, que se tomou a decisão de criar uma nova organização. O seu objetivo seria «facilitar a coordenação e a unificação internacionais das normas industriais».

Porquê ISO? Diz-se que o nome viria do grego isos, que significa «igual». Willy Kuert, delegado suíço na conferência de Londres em 1946, declarou que «esse aspeto nunca foi evocado em Londres». Portanto, é ISO e pronto. E é assim em todos os países do mundo. Era o mínimo para uma organização encarregada da normalização.

Onde fica a sede da ISO? Quase foi em Paris, mas no fim, e por um voto, decidiu-se na reunião de Londres que seria em Genebra.

© International Organization for Standardization

Foi em 1946 que Genebra foi designada sede da ISO.

I vecchi locaoi, fotografia tirado dola storia dos primi 50 anos da norma, no 1997
I vecchi locaoi, fotografia tirado dola storia dos primi 50 anos da norma, no 1997 © International Organization for Standardization

Em 1956, a ISO instalou-se na rue de Varembé e, desde então, mudou-se para um edifício novinho em folha, no 8 Chemin de Blandonnet, em Vernier, na Suíça.

Sede attuaoe da norma ISO in Suíça
Sede attuaoe da norma ISO in Suíça © International Organization for Standardization

Como funciona a ISO?

A ISO é uma organização não governamental. Não tem, por isso, nem a vocação nem o poder de impor a aplicação de uma norma. A sua função é estabelecer consenso sobre soluções, a partir de pedidos concretos. Mas convém não nos enganarmos: esses pedidos são fortes, e o respeito pelas normas por parte de cada país é uma garantia de fiabilidade e qualidade.

A ISO coordena, através do seu Secretariado Central em Genebra, uma rede de institutos nacionais de normalização que atualmente inclui 146 países. Cada país é representado por um membro.

Cada membro pode participar na elaboração de uma norma que considere necessária para o seu país e tem direito a um voto, independentemente da dimensão do país. Finalmente, uma organização onde a igualdade não é palavra vazia.

Quantas normas são criadas?

Desde 1947, a ISO publicou mais de 13 700 normas internacionais. Todos os domínios estão abrangidos:

Excerto de um texto da ISO: Sem dimensões normalizadas dos contentores para transporte de mercadorias, o comércio internacional seria mais lento e mais caro. Sem a normalização dos cartões telefónicos e bancários, a vida seria mais complicada. A ausência de normalização pode afetar a própria qualidade de vida, por exemplo a das pessoas com deficiência, se não tiverem acesso a produtos de consumo, transportes públicos e edifícios porque as dimensões das cadeiras de rodas e das aberturas não foram normalizadas.

Mesmo onde menos se esperava: "A normalização das roscas ajuda na montagem correta de cadeiras, bicicletas de criança ou aviões e permite resolver problemas de reparação e manutenção outrora causados pela falta de normalização, que representavam um verdadeiro quebra-cabeças para fabricantes e utilizadores de produtos."

Se procura a lista de normas publicadas, está aqui.

Como nasce uma norma?

Quando certos setores industriais, técnicos ou económicos veem interesse na criação de uma norma, fazem-no saber a um membro nacional da ISO, que submete o pedido à ISO. Esta avalia o interesse do pedido e aceita-o ou recusa-o.

Se o pedido for aceite, o estudo da norma é confiado a um comité técnico existente ou a criar.

A norma solicitada é elaborada por um comité técnico constituído por especialistas na matéria. Outros especialistas podem ser associados. Os peritos, escolhidos pelo instituto nacional membro da ISO para o país em causa, participam nos trabalhos no seio das delegações nacionais e, sempre com preocupação de equilíbrio, as delegações devem representar os interesses de todas as partes envolvidas.

As delegações nacionais de peritos reúnem-se até obter consenso sobre um projeto de acordo.

Esse projeto é comunicado (DIS = Projeto de Norma Internacional) ao conjunto dos membros da ISO para leitura, observações e votação. Se a votação for favorável, o documento e as suas eventuais alterações são comunicados (FDIS = Projeto Final de Norma Internacional) aos membros para nova votação. Se a votação for positiva, o documento é publicado como Norma Internacional.

Para terminar, note-se que é o grupo AFNOR que é o membro francês da ISO (entre outras funções) e que assume as responsabilidades atribuídas à França nesse âmbito.

A Associação Francesa de Normalização foi criada em 1926; é reconhecida como de utilidade pública e está sob tutela do ministério responsável pela indústria. Reúne cerca de 3 000 empresas aderentes.

Para saber mais sobre a AFNOR, é aqui.

A norma iso 8601

Se quiséssemos ser mais precisos, deveríamos escrever ISO 8601:2000. Com efeito, a versão de 2000 retoma normas anteriores (ISO8601:1988) e alguns elementos adicionais.

O título é: Elementos de dados e formatos de troca - Troca de informação - Representação da data e da hora.

Muitos países adotaram esta norma com a sua própria referência. Eis uma lista não exaustiva (obrigado a Ian Galpin e às suas informações):

E, para os países da Europa que aplicam a EN 28601:

Conteúdo da ISO8601:2000

Esta norma trata os seguintes elementos:

Vou tentar representar estes elementos em forma de tabela. Tem sorte: basta-lhe ir à parte que lhe interessa. Eu é que tenho de «engolir» tudo! Tudo, talvez não, porque vou permitir-me fazer alguma limpeza para deixar apenas o útil e simplificar o resto.

Três observações antes de entrar na tabela:

1) A maior parte dos elementos tem representação de base e representação estendida para facilitar a leitura.

2) Mantenho as abreviaturas em inglês, portanto:

Y = ano
M = mês
D = dia
w = semana
h = hora
m = minuto
s = segundo
n = número inteiro positivo ou zero
P = intervalo de tempo
R = indicador de intervalo de tempo
T = separador dos elementos data e hora

Z = indicador UTC

3) A norma usa o calendário gregoriano e a ordem dos dias da semana define-se assim:

Ordem Dia
01 Segunda-feira
02 Terça-feira
03 Quarta-feira
04 Quinta-feira
05 Sexta-feira
06 Sábado
07 Domingo

A semana é identificada no ano por um número. A primeira semana do ano (semana 1) é a que contém a primeira quinta-feira do ano. A última semana do ano é a que precede a primeira semana do ano seguinte. Dito de outra forma, a primeira semana do ano é a que contém o dia 4 de janeiro.

Para o resto:

Elemento Formato base Formato estendido Observações
AS DATAS
Data corrente YYYYMMDD
20030607

YYYY-MM-DD
2003-06-07
7 de junho de 2003
Data corrente reduzida ao mês YYYY-MM
2003-07
nenhum
Ano YYYY
2003
nenhum
Século YY
20
nenhum Eu até aceito, mas...
Data corrente YYMMDD
030607

YY-MM-DD
03-06-07
século corrente
Data corrente reduzida ao mês -YYMM
-0306
-YY-MM
-03-06
século corrente
Ano -YY
-03
nenhum século corrente
Dia do mês --MMDD
--0607
--MM-DD
--06-07
ano corrente
Mês do ano --MM
--06
nenhum ano corrente
Dia do mês ---DD
---07
nenhum mês corrente
Vou passar por cima dos anos superiores a 9999. Teremos tempo de voltar a isso quando lá chegarmos!!
Data ordinal YYYYDDD
2003157
YYYY-DDD
2003-157
157.º dia do ano 2003 = 7 de junho de 2003
Data ordinal YYDDD
03157
YY-DDD
03-157
século corrente
Dia do ano em curso -157 nenhum um único hífen
Data da semana YYYYWwwD
2003W237
YYYY-Www-D
2003-W23-7
7.º dia da semana 23 do ano 2003
Ano, semana, dia YYWwwD
03W237
YY-Www-D
03-W23-7
século corrente
Ano e semana YYWww
03W23
YY-Www
03-W23
século corrente
Ano, semana e dia -YWwwD
-3W237
-Y-Www-D
-3-W23-7
Ano da década corrente
Ano, semana -YWww
-3W23
-Y-Www
-3-W23
Ano da década corrente
Semana, dia -WwwD
-W237
-Www-D
-W23-7
Ano corrente
Semana -Www
-W27
nenhum Ano corrente
Dia -W-D
-W-5
nenhum Semana corrente
HORAS DO DIA
Hora local hhmmss
151225
hh:mm:ss
15:12:25
Horas e minutos hhmm
1512
hh:mm
15:12
Hora hh
15
nenhum
Horas, minutos, segundos decimais hhmmss,s s
151224,5
hh:mm:ss,s s
151224,5
Horas, minutos decimais hhmm,m m
1512,8
hh:mm,m m
15:12,8
Hora decimal hh,h h
15,25
nenhum
Não vamos prolongar-nos com o "formato reduzido" das horas. Já percebeu que basta substituir o elemento em falta por um hífen (-). É o mesmo princípio dos dias
Meia-noite 000000 00:00:00 início de um dia
Meia-noite 240000 24:00:00 fim de um dia
Hora em coordenadas UTC hhmmssZ
hhmmZ
hhZ
hh:mm:ssZ
hh:mmZ
hhZ
Mesmo formato que a hora legal. Acrescentar Z no fim
Diferença hora local - hora UTC ±hhmm
±hh
±hh:mm

corresponde ao fuso horário: +0100, por exemplo
Hora local + correção do fuso horário hhmmss±hhmm
hhmmss±hh
hh:mm:ss±hh:mm
hh:mm:ss±hh
ex.: 15:12:15+01:30
Data e hora: basta escrever a data num dos formatos vistos e acrescentar-lhe a hora num formato visto. A parte da data e a parte da hora são separadas por um T. Ver abaixo
Data e hora 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

Intervalos: basta indicar o instante de início (data, data e hora...) depois um separador / e o instante de fim (data, data e hora...), o que pode dar, por exemplo: YYY-MM-DDThh:mm:ss/YYY-MM-DDThh:mm:ss

Para definir a duração do intervalo, e não as datas de início e de fim, basta indicar que se trata de um intervalo, usando o prefixo P.

Exemplo: P5Y6M3DT15H10M20S (5 anos, 6 meses, 3 dias, 15 horas, 10 minutos e 20 segundos). Não esquecer o P para assinalar que se trata de um intervalo de tempo.

P7W: 7 semanas.

Naturalmente, nada impede de combinar data de início e duração, ou duração e data de fim.

Por exemplo, 2003-06-06T12:00:00/P0Y0M0DT00:03:00 significa que um ovo, cuja cozedura começa a 6 de junho de 2003 ao meio-dia, estará cozido três minutos depois. Cozedura «coque», claro!!

E nada o impede de escrever 2003-06-06T12:00:00/2003-06-06T12:03:00. O resultado será o mesmo.

Se quiser uma cozedura mais longa, escreva 20030606T120000/20030606T120300 porque no tempo de decifrar isso... os três minutos já terão passado!