ISO 8601 – Comunicar efetivamente datas e horários internacionalmente
Os formatos de data e hora são particularmente importantes na hora de fazer acordos e organizar reuniões. No entanto, na era da globalização digital, está se tornando cada vez mais difícil especificar datas e horários de uma maneira que todos entendem. Vários fusos horários ao redor do mundo e diferentes costumes culturais para o tempo de formatação dificultam o estatal de horários e datas exatas através das fronteiras nacionais. A ISO 8601 resolve precisamente este problema. Ao concordar com este padrão internacional, todas as partes interessadas em todo o mundo podem especificar inequivocamente horários e datas.
Definição: ISO 8601
A norma internacional ISO 8601 fornece recomendações para formatos numéricos de data e hora.
Você pode usar várias ferramentas ou scripts para converter informações de data no formato de data ISO desejado. Este artigo explica tudo o que você precisa saber sobre o padrão internacional para datas e horários.
Conteúdo
- Princípios Básicos da Norma ISO 8601
- Vantagens do Padrão ISO 8601 em comparação com outras variantes comuns
- Datas de conversão
Princípios Básicos da Norma ISO 8601
A norma ISO 8601 define um formato reconhecido internacionalmente para representar datas e horários. Por vezes, eles são expressos com a anotação horas-minutos-segundos. No caso de datas, o formato é de um mês de duração. Este formato básico permite que os números sejam escritos diretamente após o outro. Para maior clareza, eles também podem ser separados por delimitadores. De acordo com o formato básico da ISO 8601, a data “7 de setembro de 2019” está escrita da seguinte forma: “20190907”, ou quando expressa com delimitadores: “2019-09-07”. Os tempos são divididos em horas, minutos e segundos. Um iso 8601 timestamp seria, portanto,: 12:07:22. A representação dos formatos de data ISO acaba com a necessidade de notações específicas do país, pelo menos em formatos eletrônicos. Dessa forma, as informações de hora e data são padronizadas, resultando em menos problemas de comunicação.
O padrão ISO 8601 também é conhecido como ANSI INCITS 30-1997 (R2008) ou NIST FIPS PUB 4-2 nos Estados Unidos. Além disso, não é usado apenas para valores de tempo, mas também para durações. Nesses casos, a data de início ou a hora é separada da duração seguinte pela letra “P”. Uma duração que começa em 6 de setembro de 2019 às 20h e dura um mês, cinco dias e três horas seria expressada pela norma ISO da seguinte forma: 2019-09-06T20P1M5T3H.
De acordo com a norma ISO, todos os valores como horários, datas ou durações são mostrados em uma determinada ordem: Eles começam com a maior unidade e seguem para o próximo valor menor. Esta sequência é conhecida como “notação descendente”. Corresponde ao valor matemático natural dos números. Unidades maiores são, portanto, sempre escritas antes de unidades menores. Isso é vantajoso, pois significa que a classificação lexicográfica e cronológica de datas e horários produzirá o mesmo resultado.
Representação tabular de datas e horários iso 8601
Formato de acordo com a ISO 8601 | Faixas de valor |
---|---|
Ano (Y) | YYYY, de quatro dígitos, abreviado para dois dígitos |
Mês (M) | MM, 01 a 12 |
Semana (W) | WW, 01 a 53 |
Dia (D) | D, dia da semana, 1 a 7 |
Hora (h) | hh, 00 a 23, 24:00:00 como o tempo final |
Minuto (m) | mm, 00 a 59 |
Segunda (s) | ss, 00 a 59 |
Fração decimal (f) | Frações de segundos, qualquer grau de precisão |
Em todos os formatos da norma, os valores para datas ou horários são divididos em várias unidades, como ano, mês, dia, hora etc. Cada unidade individual é representada por um número fixo de dígitos. Especialmente nas áreas científicas, desenvolvimento de software e correspondência internacional, a norma é usada para reduzir o risco de erros com valores de tempo. O iso 8601 timestamp padronizado internacionalmente reduz consideravelmente esse risco.
Seguindo os valores de data e hora, a diferença em relação ao tempo universal reconhecido é frequentemente indicada (abreviada para UTC). É assim que o formato leva em consideração quaisquer diferenças de fuso horário ou horários de verão específicos do país. A letra “Z” é geralmente usada como o valor correspondente.
Representação tabular de datas e horários da ISO 8601 com informações sobre fuso horário
Exemplo | Explicação |
---|---|
2019-09-07T-15:50+00 | 15h30 do dia 7 de setembro de 2019 no fuso horário universal |
2019-09-07T15:50+00Z | Da mesma forma, 15h30 do dia 7 de setembro de 2019 no fuso horário da hora universal com a adição de “Z” na notação |
2019-09-07T15:50-04:00 | 15:30 em 7 de setembro de 2019 no fuso horário nova-iorquino (UTC com horário de verão) |
No entanto, é importante ressaltar que a faixa válida de anos neste formato abrange apenas os anos de 1583 a 1999. Isso porque o calendário gregoriano só foi introduzido em 1583. Embora seja possível aplicar a norma ISO 8601 em horários e datas anteriores ao ano de 1583, isso requer uma coordenação exata entre as partes que compartilham os valores para evitar erros.
Vantagens do Padrão ISO 8601 em comparação com outras variantes comuns
A ISO 8601 especifica apenas notações numéricas e não cobre datas e horários em que as palavras estão incluídas. Não se destina a substituir a redação dependente da linguagem, como “1 de fevereiro de 1995”. Mas a ISO 8601 deve ser aplicada para substituir designações como “2/5/95” e “9:30 am”.
As vantagens da norma ISO8 8601 podem ser resumidas da seguinte forma:
- Fácil de ler e escrever com software
- Facilmente para comparar e classificar com uma simples comparação de cordas
- Compreensível, independentemente da língua nacional
- Não pode ser confundido com outras representações de datas comuns
- Corresponde ao sistema de tempo padrão de 24 horas em que as unidades maiores (horas) também são colocadas na frente de pequenas unidades (minutos e segundos)
- Strings que contêm uma data seguida de um tempo também são fáceis de comparar e classificar (por exemplo, “2019-09-07 20:15:00”)
- A notação é concisa e tem um comprimento constante, simplificando a entrada do teclado e o layout da tabela
- Idêntico à notação de data chinesa, o que significa que o maior grupo cultural (>25%) do mundo já está familiarizado com o sistema
- Os valores de data com a ordem “ano, mês, dia” também são difundidos, como no Japão, Coreia, Hungria, Suécia, Finlândia, Dinamarca e alguns outros países
- Um formato de ano de quatro dígitos não leva a nenhum problema na virada de um século
Datas de conversão
O formato geralmente pode ser convertido em duas direções diferentes. Por um lado, um valor de data ou hora pode ser convertido para o padrão ISO a partir de uma convenção nacional, bem como do formato ISO para a língua nacional, por outro.
Ao converter a data ISO em uma forma legível “simples”, o iso 8601 timestamp normalmente se parece com este:
String dateString = "2019-09-26T07:58:30.996+0200"
Esta sequência está agora estruturada no formato de data YYYY-MM-DD. O delimitador para a época é “T” e o formato de tempo é hh:mm:ss mais o sufixo UTC .sssz. O formato completo é, portanto,: YYY-MM-DD “T” hh:mm:ss. Sssz, sssz.
A conversão a seguir pode transformar a data ISO no formato típico dos EUA, ou seja, hh:mm, MM.DD.YYY (hora, minuto – mês, dia, ano).
public String getOurDate() {
DateFormat format = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZ");
try {
Date unformatedDate = format.parse(date);
String formatedDate = new SimpleDateFormat("HH:mm dd.MM.yyyy").format(unformatedDate);
return formatedDate;
} catch (ParseException e){
System.out.println("Error")
}
return date;
}
Tip
Além das possibilidades manuais de conversão, sites também podem ser encontrados online que convertem automaticamente os timestamps para o formato desejado. Por exemplo: Conversor DenCode. Basta digitar a data no formato inicial e, em seguida, selecionar o formato de destino para conversão. O fuso horário também pode ser escolhido.