Data e hora

conversor FILETIMEPreserve o último tick e o contexto

Converta valores do Windows e datas nos dois sentidos. Selecione a representação e o atributo LDAP antes de interpretar o número.

conversor FILETIME

Entrada

A entrada é processada neste navegador e não é enviada a um servidor.

Resultados

Opções

Época Windows: 1601-01-01 UTC · um tick = 100 ns.

Um valor por linha. Alto/baixo: high,low (decimal ou 0x; partes decimais com sinal são aceitas). Bytes: 16 dígitos hexadecimais ou oito pares. Data: YYYY-MM-DDTHH:mm:ss[.1–7 casas]Z ou ±HH:mm; ano expandido +YYYYYY.

A ordem só afeta bytes. Selecione o campo AD real. O decimal -1 é aceito apenas como controle de escrita pwdLastSet.

Datas UTC com sete casas. Quocientes Unix arredondados para baixo e restos em ticks de 100 ns.

Até 1.000 linhas físicas e 100.000 unidades UTF-16. Espaços externos removidos; linhas vazias são erros.

Insira dados ou carregue um exemplo.

O conversor FILETIME ajuda a conferir uma linha do tempo de incidentes sem perder a precisão do registro original. Guarde o inteiro como texto: a planilha pode arredondar as últimas casas ou trocar o valor por notação científica.

Nem todo timestamp LDAP é um instante. Zero pode ser a origem de 1601, uma conta sem vencimento ou uma hora de logon desconhecida. O atributo selecionado dá o contexto necessário para diferenciar esses resultados.

Por que usar este conversor FILETIME?

Confira a ordem sem inverter o inteiro

O conversor FILETIME mostra o valor decimal, o hexadecimal completo, as duas partes DWORD e as duas ordens de bytes. A opção little-endian afeta apenas uma entrada de oito bytes, evitando inverter um número já decodificado.

Oito blocos de bytes coloridos mudam de ordem e formam as duas metades de um valor de 64 bits.

Zero depende do campo

No modo genérico, zero vira uma data. Em accountExpires indica conta sem vencimento; em lastLogon significa hora desconhecida. Esses estados não ganham uma data inventada nem valores Unix que pareçam registrar um evento.

O mesmo zero segue para um calendário, um símbolo de infinito e uma indicação de hora desconhecida.

Separe o número da sequência de bytes

01

Informe a parte alta primeiro

O formato high,low espera a parte alta antes da baixa, mesmo que a estrutura C declare a baixa primeiro. Oito bytes podem ser escritos em dezesseis dígitos hexadecimais seguidos ou oito pares separados por espaços.

02

Inclua o deslocamento na data

A conversão de volta exige Z ou ±HH:mm. O fuso do computador não é usado como padrão implícito. O exemplo acompanha o formato escolhido e abre uma prévia do texto e do tamanho da substituição.

03

Confira os estados antes de inverter

O cálculo automático espera 350 ms após a edição. Desative-o para usar o botão ou Ctrl/Cmd+Enter. Todas as linhas precisam ter datas para inverter. Desfazer recupera entrada, opções e resultado ao mesmo tempo.

Precisão e diagnóstico no mesmo relatório

Sete casas sem arredondamento

116444736000000001 corresponde a 1970-01-01T00:00:00.0000001Z. A aritmética inteira e a exportação dos números como texto preservam o último tick. A data completa volta ao mesmo inteiro, sem uma etapa intermediária em milissegundos.

Partes COM com sinal

Alta/baixa aceita DWORD sem sinal e LONG decimal de 32 bits. Partes negativas são interpretadas em complemento de dois. O relatório traz as duas notações, sem estender essa regra a um FILETIME inteiro negativo.

Unix com quociente e resto

Este conversor de timestamps subtrai 116444736000000000 antes de calcular segundos e milissegundos. Os quocientes são arredondados para baixo e os restos não negativos ficam em ticks. Assim, uma fração anterior a 1970 não desaparece em um zero incorreto.

Diagnóstico ligado à linha original

Até 1.000 linhas mantêm o texto de origem e a posição. Um valor inválido não impede o processamento dos demais. A tela começa com 50 resultados, mas copiar e baixar inclui todo o relatório JSON, com erros e estados especiais.

Limites da leitura e das conclusões

Capacidade de armazenamento não é faixa de datas
A leitura aceita até 18446744073709551615. Acima de 9223372036854775807, o relatório mantém os bits e informa que o valor está fora da faixa FileTimeToSystemTime, sem produzir data. O limite do modo genérico usa ano ISO expandido.
Valores do Active Directory exigem contexto
accountExpires usa zero e o maior inteiro com sinal para indicar que a conta não vence. pwdLastSet=0 exige verificar UF_DONT_EXPIRE_PASSWD; -1 decimal é um controle de escrita. lastLogon=0 significa desconhecido naquele controlador, sem provar ausência de logons.
Datas válidas com fuso explícito
Segundos e Z ou ±HH:mm são obrigatórios; o deslocamento deve ficar em ±14:00. Anos após 9999 usam +YYYYYY. Dias impossíveis, segundos intercalares, 24:00, -00:00 e mais de sete casas são recusados, sem correção ou adivinhação de fuso.
Sem adivinhação pelo número de dígitos
Escolha decimal, hexadecimal inteiro, oito bytes ou high,low. Não são aceitos expoentes nem separadores de milhares. Espaços nas extremidades são removidos, mas linhas vazias continuam sendo erros. Inteiros curtos também podem ser válidos.
Sem consulta ao diretório ou alteração de arquivos
A página não conecta ao LDAP, não lê registro ou MFT e não modifica horários de arquivos. GeneralizedTime, ticks .NET e datas Excel são formatos diferentes. Um campo isolado não basta para auditar a conta ou concluir o vencimento da senha.
Lotes limitados e substituição reversível
São permitidas 100.000 unidades UTF-16 e 1.000 linhas físicas. Exceder qualquer limite rejeita o lote. Exemplo, Limpar e Inverter mostram uma prévia antes de aplicar. É possível desfazer uma vez, até a próxima edição manual.

Conversor FILETIME: dúvidas

Em que o FILETIME difere do Unix epoch?

Windows FILETIME conta intervalos de 100 ns desde 1601; o Unix epoch usa segundos desde 1970. A diferença de origem precisa ser retirada antes da divisão por 10000000. Para preservar frações, mantenha também o resto.

Como o Active Directory representa seus timestamps LDAP?

Alguns atributos, como pwdLastSet e accountExpires, usam o contador FILETIME. Outros podem usar GeneralizedTime. Além disso, os valores especiais dependem do atributo; não basta chamar um número de LDAP para saber se ele representa uma data.

Por que padronizar datas de logs em ISO 8601?

Uma data ISO 8601 com Z ou deslocamento explícito elimina a ambiguidade entre formatos locais e fusos. Nesta página a saída é UTC com sete casas, o que permite comparar registros sem perder os ticks menores que um milissegundo.

Por que um timestamp pode ter dezoito dígitos?

Valores FILETIME de datas atuais costumam ter dezoito dígitos por causa da origem em 1601 e da unidade pequena. Isso é uma pista, não uma regra: zero e inteiros curtos também são possíveis. Confirme a origem e o campo.

Por que a data convertida não corresponde à esperada?

Verifique o formato selecionado, a ordem dos bytes, a diferença entre UTC e hora local e o atributo de origem. Também confira se uma planilha já arredondou o número. A ferramenta não consegue recuperar casas que foram descartadas antes da entrada.

Resultado inesperado?

Mantenha o contexto junto da data

Use o conversor FILETIME com o nome do campo de origem. Salve o relatório completo junto do registro para documentar a ordem dos bytes, a interpretação e a precisão que foi preservada.