Português (Brasil)

Ferramentas para desenvolvedores · Conversor de carimbo de data/hora Unix

O que significa Z: UTC, compensações e designadores em carimbos de data e hora ISO 8601

· Como funciona

carimbos de data/hora iso-8601 fusos horários

Dois caminhos de data e hora com designadores Z e offset reunidos em um instante
Ilustração vetorial original ToolAcre

Conversores e APIs imprimem instantes como strings ISO 8601, e o Z final ou deslocamento é a parte que as pessoas ignoram. Esta postagem explica o formato peça por peça para que você possa ler UTC e a saída local corretamente.

Duas strings, um instante — 10:00:00Z e 12:00:00+02:00 lado a lado, e o leitor que pensa que estão separados por duas horas

`2025-02-03T10:00:00Z` e `2025-02-03T12:00:00+02:00` nomeiam um instante. A segunda sequência mostra um relógio de parede com duas horas de antecedência e fornece o deslocamento necessário para subtrair essas horas. Ler apenas o campo horário cria uma lacuna fictícia entre eventos simultâneos.

ToolAcre passa ambas as strings para Date e retorna segundos de época, milissegundos de época e uma string canônica UTC ISO. Resultados numéricos iguais são a comparação decisiva. Uma alteração no mostrador do relógio não implica alteração no tempo decorrido quando um designador no final contabiliza a diferença.

O procedimento de comparação seguro é normalizar cada string para a época em milissegundos primeiro. Se esses números inteiros corresponderem, a diferença aparente do relógio será uma representação e não o tempo decorrido.

A anatomia de uma data-hora ISO 8601 - data, o separador T, hora, segundos fracionários e o designador de zona

O valor ISO gerado pela ferramenta tem uma data de calendário, `T`, campos hora-minuto-segundo, uma fração de milissegundos de três dígitos e `Z` final. Esta forma exata vem de `toISOString()`. O tratamento de entrada é mais amplo porque Date analisa a string fornecida, mas a mensagem de erro recomenda um valor explícito como `2024-03-01T09:30:00Z`.

Os separadores tornam as peças legíveis; o designador do terminal determina o instante. As frações refinam a posição em um segundo sem alterar a zona. Ao comparar a saída API, mantenha o designador final anexado. Truncar uma captura de tela antes de remover as informações necessárias para mapear o relógio para UTC.

Z para Zulu - por que Z significa UTC, sua origem nos fusos horários militares e de aviação e por que não é o mesmo que nenhum designador

Dentro desta implementação, `Z` é detectado como uma zona explícita e `toISOString()` a utiliza para UTC. A conta de origem militar da pasta de trabalho não está documentada no repositório, portanto este artigo não a repete como histórico de origem. O fato operativo é mais restrito e testável: um Z à direita impede a suposição da hora local.

Nenhum designador não é outra grafia de Z. ToolAcre define `assumedLocal` para uma data e hora sem Z ou um deslocamento numérico e, em seguida, informa ao usuário qual zona do navegador forneceu a interpretação. Substituir um sufixo ausente por Z altera o instante pretendido sempre que o relógio original fosse considerado local.

Neste conversor, Z marca o formato UTC; seu histórico de nomenclatura está fora da evidência do repositório

Um sufixo como `+02:00` registra a diferença entre o relógio escrito e UTC naquele instante. Não identifica uma cidade. Muitas regiões podem comcomcompartilhar um deslocamento e uma região pode usar outro deslocamento em outra data. O barbante preserva a leitura, não as regras políticas que a produziram.

Essa limitação é importante em programações recorrentes. Um API pode relatar fielmente um instante passado com `+02:00`, mas o sufixo sozinho não pode calcular a reunião 09:00 do próximo inverno. A conversão de época precisa apenas do deslocamento fornecido; o agendamento futuro do tempo de parede precisa de uma zona nomeada e de uma lógica com reconhecimento de regras fora deste painel.

Exemplo resolvido: uma época, duas leituras - o valor UTC e o valor local que um conversor mostra e confirmando que nomeiam o mesmo instante

Use a época 1,738,577,600 segundos para a verificação deste artigo. O conversor renderiza `2025-02-03T10:00:00.000Z`. Uma sequência de origem de `2025-02-03T12:00:00+02:00` é convertida de volta para a mesma contagem porque sua leitura de parede de duas horas depois é balanceada pelo deslocamento positivo de duas horas.

A linha local do navegador pode exibir uma terceira hora do relógio. Isso não cria um terceiro evento; é outra passagem de formatação em 1,738,577,600,000 milissegundos. Verifique a identidade com segundos ou ISO e use cada relógio rotulado apenas para o público cuja zona ele representa.

Essa igualdade também pode se tornar um elemento de regressão: analise ambas as strings de origem e afirme um valor de época. Esse teste protege a aritmética de deslocamento sem fixar a prosa de exibição dependente do local.

O designador ausente - um 2024-05-01T10:00:00 simples é ambíguo e como diferentes idiomas o interpretam

O caso do designador ausente precisa de um refinamento. Uma data simples como `2025-02-03` é lida como UTC sob a regra ECMAScript implementada e testada aqui. Uma data e hora simples, como `2025-02-03T10:00:00`, é lida como local e sinalizada. Chamar ambos de simplesmente “ambíguos” contradiria o código.

A forma prática e segura para um instante de intercâmbio ainda inclui Z ou um deslocamento. Uma data e hora local pode ser intencional quando inserida por meio do controle `datetime-local` do painel, mas copie a string ISO resultante antes de compartilhá-la. Essa conversão registra qual é o instante do ambiente atual derivado do relógio de parede.

Um designador ausente nem sempre é ambíguo: esta implementação distingue datas de datas e horas

ISO 8601 cobre mais notação do que este conversor demonstra, mas o repositório não fornece analisadores ou testes para intervalos, durações ou datas semanais. A aceitação da data pode variar de acordo com a plataforma para strings fora de seus exemplos documentados confiáveis. Este artigo, portanto, evita apresentar o painel como um validador gramatical ISO geral.

Se um contrato API permitir um formulário de data especializado, valide-o com o analisador desse API. O caminho de data a época de ToolAcre é adequado para datas e horas explícitas e o formato do seletor local que ele emite. Uma análise de data bem-sucedida prova que este navegador aceitou uma string, e não que todo consumidor em conformidade com os padrões deva aceitá-la.

Durações, intervalos e datas semanais estão fora da entrada aceita demonstrada aqui

Leia um carimbo de data/hora até seu sufixo antes de comparar os campos do relógio. Z ancora o relógio escrito em UTC; um deslocamento numérico retorna a aritmética para UTC; uma data e hora sem zona pede ao navegador para usar interpretação local. Essas terminações respondem a perguntas diferentes, apesar dos prefixos de aparência semelhante.

O conversor rotula sua saída universal gerada e informa quando assumiu a hora local. Use esses avisos como parte do resultado, não como decoração. Um valor de hora copiado sem seu designador é uma evidência incompleta, enquanto uma época ou linha canônica ISO mantém o instante intacto entre os leitores.