O que é um timestamp FILETIME/LDAP?
FILETIME, também conhecido como timestamp LDAP ou Active Directory, é um valor de 64 bits que representa o número de intervalos de 100 nanossegundos desde 1º de janeiro de 1601 (UTC). Ele é amplamente usado em APIs do Microsoft Windows, metadados do sistema de arquivos NTFS, Active Directory e atributos de diretórios LDAP como 'whenCreated', 'pwdLastSet', 'accountExpires' e 'lastLogonTimestamp'. O timestamp é armazenado como um número decimal de 18 dígitos; por exemplo, 133855488000000000 representa 1º de janeiro de 2025 às 00:00:00 UTC. Ao contrário dos timestamps Unix, que contam os segundos desde 1970, FILETIME usa uma época muito anterior e uma resolução muito mais precisa, com ticks de 100 nanossegundos.
Como usar o conversor de FILETIME
- 1Para converter FILETIME em uma data, insira o valor de 18 dígitos no campo de entrada. A ferramenta exibe imediatamente a data correspondente nos formatos ISO 8601, UTC, horário local e timestamp Unix.
- 2Para converter uma data em FILETIME, acesse a aba 'Date to FILETIME', selecione ano, mês, dia, hora, minuto, segundo e fuso horário nos seletores e consulte o valor FILETIME gerado.
- 3O relógio em tempo real na parte superior mostra o FILETIME e o timestamp Unix atuais, com atualização a cada 10 segundos.
- 4Clique no botão de cópia ao lado de qualquer valor para copiá-lo para a área de transferência.
Casos de uso comuns
Solução de problemas no Active Directory
Decodifique atributos do AD como 'pwdLastSet', 'accountExpires', 'lastLogonTimestamp' e 'lockoutTime' para identificar quando os eventos ocorreram.
Análise do sistema de arquivos NTFS
Converta timestamps de arquivos NTFS, como registros $MFT, $STANDARD_INFORMATION e $FILE_NAME, durante análises forenses ou recuperação de arquivos.
Desenvolvimento com APIs do Windows
Depure valores FILETIME retornados por APIs do Windows como GetFileTime(), GetSystemTimeAsFileTime() e FindFirstFile().
Interpretação de consultas LDAP
Converta timestamps de 18 dígitos dos resultados de buscas LDAP em datas legíveis para relatórios e auditorias.
Perguntas frequentes
Qual é a diferença entre FILETIME e timestamp Unix?
Timestamps Unix contam os segundos desde 1º de janeiro de 1970 (UTC). FILETIME conta intervalos de 100 nanossegundos desde 1º de janeiro de 1601 (UTC). Para converter: Unix_seconds = (FILETIME - 116444736000000000) / 10000000.
Como obter o FILETIME atual no Windows?
No PowerShell, [DateTime]::UtcNow.ToFileTimeUtc() retorna o FILETIME atual. Em um arquivo batch, você pode executar PowerShell inline: powershell -c "[DateTime]::UtcNow.ToFileTimeUtc()". Em C/C++, use GetSystemTimeAsFileTime(). Em C#, use DateTime.UtcNow.ToFileTimeUtc().
Qual é a data máxima que um FILETIME pode representar?
O FILETIME máximo (2^63 - 1 = 9223372036854775807) corresponde aproximadamente ao ano 30828. No entanto, a maioria dos usos práticos permanece dentro do século atual.
Qual é o valor de 'Never Expires' no Active Directory?
Os valores 0 e 9223372036854775807 (0x7FFFFFFFFFFFFFFF) significam 'nunca' ou 'não definido' para o atributo accountExpires no Active Directory. Em geral, o valor 0 indica que o atributo não foi definido.
Existem outros formatos de timestamp LDAP?
Sim. O Active Directory também usa o formato 'Generalized Time', como 20250101000000.0Z, em atributos como 'whenCreated' e 'whenChanged'. Trata-se de uma string de 18 caracteres no formato YYYYMMDDHHmmss.fZ, que não deve ser confundida com o número inteiro FILETIME de 18 dígitos.
Os valores inseridos são enviados para algum servidor?
Não. Todas as conversões são realizadas localmente no navegador.