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.
Foi em 1946 que Genebra foi designada sede da ISO.
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.
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):
- África do Sul: ARP 010:1989.
- Austrália: AS 3802:1997.
- Canadá: CSA Z234.5:1989.
- Japão: JIS X 0301-1992.
- Norma europeia: EN 28601:1992.
- Norma dos EUA: ANSI X3.30-1985(R1991) e NIST FIPS 4-1.
E, para os países da Europa que aplicam a EN 28601:
- Alemanha: DIN EN 28601 (1993) & DIN 5008 (1996).
- Áustria: OENORM EN 28601.
- Bélgica: NBN EN 28601 (1993).
- Dinamarca: DS/EN 28601.
- Espanha: UNE EN 28601.
- Finlândia: SFS-EN 28601.
- França: NF EN 28601 (1993).
- Grécia: ELOT EN 28601.
- Holanda: NEN ISO 8601 (1994) & NEN EN 28601 (1994).
- Islândia: IST EN 28601:1992.
- Irlanda: IS/EN 28601:1993.
- Itália: UNI EN 28601 (1993).
- Luxemburgo: ITM-EN 28601.
- Noruega: NS-ISO 8601.
- Polónia: PN-90/N-01204.
- Portugal: EN 28601.
- República Checa: CSN EN 28601.
- Reino Unido: BS EN 28601:1992 (replaces BS 7151).
- Suécia: SS-EN 28601 (1991).
- Suíça: SN-EN 28601-1994.
Conteúdo da ISO8601:2000
Esta norma trata os seguintes elementos:
- Data
- Hora do dia
- Tempo Universal Coordenado (UTC)
- Hora local com desvio horário
- Data e hora
- Intervalos de tempo
- Intervalos de tempo periódicos
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
Z = indicador UTC
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
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!