Converter data ISO em Windows FILETIME
Digite uma data e hora com Z ou com deslocamento e receba o valor FILETIME do Windows, que conta passos de 100 nanossegundos desde 1 de janeiro de 1601 UTC: 2025-01-01T00:00:00Z é 133801632000000000. Útil para Active Directory, registro do Windows e perícia forense. Grátis no seu navegador.
- Grátis
- Funciona no seu navegador
- Sem cadastro
- Seus dados não saem do seu aparelho
Executar grátis
Exemplo resolvido
- Data e hora
- 2025-01-01T00:00:00Z
- Data e hora de entrada
- 2025-01-01T00:00:00Z
- Data e hora UTC
- 2025-01-01T00:00:00.0000000Z
- FILETIME do Windows
- 133801632000000000
Converta uma data e hora ISO 8601 no valor decimal Windows FILETIME usado por APIs do Windows, Active Directory, Registro e ferramentas forenses. O cálculo conta intervalos de 100 nanossegundos desde 1601-01-01T00:00:00Z e exige que você informe explicitamente o fuso com Z ou um deslocamento numérico. A operação usa aritmética gregoriana e de inteiros exata, sem depender do relógio local ou do analisador de datas da plataforma. A resposta contém a entrada original, a representação UTC normalizada com sete casas fracionárias, a string FILETIME e uma identificação clara da unidade.
Entenda a época e a unidade do Windows FILETIME
Windows FILETIME é uma contagem inteira cujo ponto zero é a meia-noite UTC de 1º de janeiro de 1601. Cada incremento representa 100 nanossegundos; dez milhões formam um segundo e 864 bilhões formam um dia. Essa época e resolução são diferentes do Unix, dos milissegundos do JavaScript e dos ticks de .
NET DateTime. Portanto, apenas trocar um rótulo ou multiplicar um timestamp conhecido pode gerar um resultado incorreto. O conversor valida a data gregoriana, o horário, a fração de segundo e o fuso informados.
Informe um fuso ISO explícito para obter UTC determinístico
Uma data e hora ISO sem fuso não identifica um instante único. Ela pode representar o horário local de uma estação, o fuso de um servidor ou um valor que perdeu seu deslocamento na exportação. Por isso, você deve informar Z para UTC ou um deslocamento como +05:30 ou -04:00.
Um deslocamento positivo é subtraído para chegar ao UTC; um negativo é somado. Por exemplo, meia-noite em +02:00 corresponde a 22:00 UTC do dia anterior. O cálculo trata essa mudança de dia diretamente e devolve o resultado normalizado com Z.
Ele nunca consulta o fuso da máquina, regras de horário de verão, data atual, localidade ou ambiente. Deslocamentos de até 14:00 são aceitos. Fusos nomeados, como America/New_York, não são aceitos porque dependem de regras históricas mutáveis.
Se a origem tiver apenas um horário local, determine e acrescente o deslocamento histórico correto antes da conversão; adivinhar produziria um FILETIME preciso, porém errado.
Preserve a precisão e valide dados de migração
A entrada pode ter de um a sete dígitos fracionários de segundo. Dígitos ausentes são completados à direita: .1 significa um décimo de segundo, e sete dígitos representam toda a resolução de 100 nanossegundos. Uma precisão maior é rejeitada, sem arredondamento ou corte, pois qualquer opção poderia alterar o instante.
A validação também rejeita datas impossíveis, segundos intercalares, deslocamentos inválidos e horários fora da faixa. Após a conversão do fuso, o instante UTC precisa ficar entre a época FILETIME e o último intervalo de 100 nanossegundos do ano 9999. Esses limites ajudam você a detectar linhas ruins em uma migração.
Em regressões, compare ambos como strings. Como a implementação não usa rede, aleatoriedade, relógio do sistema nem Date, a mesma entrada aceita sempre gera exatamente a mesma saída.
Casos de uso
Validar migrações de diretórios
Calcule FILETIME para campos temporais e mantenha um valor UTC normalizado que possa ser auditado.
Analisar Registro e linhas forenses
Crie referências FILETIME conhecidas a partir de instantes ISO explícitos para testes e investigações.
Perguntas frequentes
Qual é a época do Windows FILETIME?
FILETIME começa em 1601-01-01T00:00:00Z e conta intervalos de 100 nanossegundos desde esse instante.
Por que a data ISO deve incluir um fuso?
Uma data sem Z ou deslocamento é ambígua. Exigir o fuso torna a conversão para UTC determinística.
Quantos dígitos fracionários são aceitos?
São aceitos até sete, conforme a resolução de 100 nanossegundos. Uma precisão maior é rejeitada.
O conversor usa o fuso ou relógio do sistema?
Não. Ele usa somente a entrada explícita e aritmética gregoriana determinística com inteiros.
Por que o resultado aparece como texto e não como número?
Porque os valores FILETIME atuais são maiores do que muitos programas e planilhas conseguem guardar com exatidão como número. Manter o valor como texto evita arredondamentos silenciosos antes de salvá-lo ou repassá-lo.
Ferramentas relacionadas
Para desenvolvedores — acesso via API
Tudo nesta página está disponível via API. Esta seção é para equipes que querem integrar a ferramenta aos próprios sistemas; quem não precisa disso pode simplesmente usar a ferramenta acima.
Endpoint
Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.
Chame do seu código
curl -X POST https://api.kit.forhosting.com/date/iso-to-windows-filetime \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"datetime":"2025-01-01T00:00:00Z"}'const res = await fetch("https://api.kit.forhosting.com/date/iso-to-windows-filetime", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"datetime": "2025-01-01T00:00:00Z"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/date/iso-to-windows-filetime",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"datetime": "2025-01-01T00:00:00Z"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/date/iso-to-windows-filetime", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"datetime":"2025-01-01T00:00:00Z"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"datetime":"2025-01-01T00:00:00Z"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/date/iso-to-windows-filetime", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemplo de requisição
{
"datetime": "2025-01-01T00:00:00Z"
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "date.iso_to_windows_filetime",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}A API é assíncrona: cada chamada devolve um task_id na hora. Se preferir polling, consulte o status a até 1 requisição por segundo.
Preço
Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.
Erros
| HTTP | Código | O que significa |
|---|---|---|
401 | unauthorized | Token ausente ou inválido. Confira o header Authorization. |
402 | insufficient_balance | Saldo insuficiente para esta tarefa. Faça uma recarga e tente de novo. |
404 | unknown_type | Esse tipo de tarefa não existe. Confira o campo type no catálogo. |
429 | rate_limited | Muitas requisições em pouco tempo. Espere um instante e tente de novo. |
Notas técnicas
Entenda a época e a unidade do Windows FILETIME
Em seguida, determina o instante UTC exato e mede o intervalo desde a época FILETIME com inteiros. windows_filetime é devolvido como texto decimal porque vários ambientes JSON não representam esses valores com exatidão. Isso evita arredondamento silencioso em navegadores, planilhas e aplicações. unit registra a interpretação, enquanto utc_datetime oferece uma forma legível para conferência antes de armazenar ou transmitir o inteiro. Cada conversão automatizada custa US$ 0,002.
Preserve a precisão e valide dados de migração
Use windows_filetime em estruturas do Windows, atributos LDAP, exportações do Registro ou payloads compatíveis; use utc_datetime em auditorias e testes.
Casos de integração
Preparar payloads para APIs do Windows
Converta uma data UTC ou com deslocamento legível no FILETIME decimal exato esperado pela integração.
Perguntas técnicas
Por que FILETIME é devolvido como string?
Inteiros FILETIME comuns excedem a faixa exata de muitos números JSON. O texto decimal preserva todos os dígitos.
Quanto custa uma conversão?
Cada conversão pela API custa US$ 0,002.