Cos'è un timestamp Windows FILETIME?

Un timestamp Windows FILETIME è un valore a 64 bit che rappresenta il numero di intervalli da 100 nanosecondi trascorsi dal 1° gennaio 1601 alle 00:00:00 UTC. Questa epoca precede la più nota epoca Unix (1° gennaio 1970) di esattamente 369 anni. Microsoft ha scelto questo punto di partenza perché segna l'inizio di un ciclo di 400 anni nel calendario gregoriano, il che semplifica i calcoli degli anni bisestili.

I valori FILETIME compaiono in tutto il sistema Windows, inclusi i metadati dei file NTFS, gli attributi di Active Directory (come accountExpires, lastLogonTimestamp e pwdLastSet), le voci del Registro di sistema di Windows e le query LDAP. Poiché questi timestamp sono memorizzati come numeri interi di grandi dimensioni anziché come date leggibili, la conversione manuale richiede la conoscenza sia dell'offset dell'epoca che dell'intervallo dei tick.

Descrizione dello strumento

Questo strumento converte i timestamp Windows FILETIME in formati di data e ora leggibili e viceversa. Incolla un valore FILETIME per vedere immediatamente la data corrispondente in più formati, oppure seleziona una data e un'ora per generare il valore FILETIME corrispondente. Tutte le conversioni sono compatibili con i fusi orari, grazie a un selettore di fuso orario con funzione di ricerca.

Esempi

Windows FILETIME Data (UTC)
132812448000000000 2021-12-01 00:00:00
116444736000000000 1970-01-01 00:00:00 (epoca Unix)
130000000000000000 2012-02-17 05:46:40
133600000000000000 2024-05-17 04:26:40

Funzionalità

  • Conversione bidirezionale tra tick Windows FILETIME e date leggibili
  • Più formati di output: tick FILETIME, timestamp Unix (secondi), ISO 8601, UTC, ora locale e tempo relativo
  • Selettore di fuso orario con ricerca e visualizzazione dell'offset UTC per una conversione accurata dell'ora locale
  • Pulsante con un clic per inserire l'ora corrente come timestamp Windows
  • Selettore di data e ora per la conversione inversa da una data scelta a FILETIME

Come funziona

Il convertitore applica un offset fisso per tradurre tra le epoche Windows e Unix. L'epoca Windows inizia il 1° gennaio 1601, mentre l'epoca Unix inizia il 1° gennaio 1970. La differenza tra queste due date è esattamente 11.644.473.600 secondi, ovvero 116.444.736.000.000.000 tick da 100 nanosecondi.

Per convertire un valore FILETIME in una data, lo strumento sottrae l'offset dell'epoca e divide per 10.000 per ottenere i millisecondi dall'epoca Unix. Per la direzione inversa, moltiplica i millisecondi Unix per 10.000 e aggiunge nuovamente l'offset. Tutti i calcoli utilizzano BigInt per preservare la piena precisione a 64 bit dei valori FILETIME.

Casi d'uso

  • Amministrazione di sistema: Decodifica gli attributi di Active Directory come lastLogonTimestamp o pwdLastSet durante la risoluzione di problemi relativi agli account o il controllo dell'attività degli utenti
  • Informatica forense: Converti i timestamp dei file NTFS durante la risposta agli incidenti per stabilire le sequenze temporali a partire da immagini disco Windows o log degli eventi
  • Sviluppo software: Esegui il debug o verifica i valori FILETIME presenti nelle API Windows, nelle voci del Registro di sistema o nei metadati dei file durante lo sviluppo di applicazioni