Vad är ett Windows FILETIME-tidsstämpel?

Ett Windows FILETIME-tidsstämpel är ett 64-bitars värde som representerar antalet 100-nanosekundsintervall som har förflutit sedan den 1 januari 1601 kl. 00:00:00 UTC. Denna epok föregår den mer allmänt kända Unix-epoken (1 januari 1970) med exakt 369 år. Microsoft valde denna startpunkt eftersom den markerar början på en 400-årscykel i den gregorianska kalendern, vilket förenklar beräkningar av skottår.

FILETIME-värden förekommer i hela Windows-system, inklusive NTFS-filmetadata, Active Directory-attribut (som accountExpires, lastLogonTimestamp och pwdLastSet), Windows Registry-poster och LDAP-katalogfrågor. Eftersom dessa tidsstämplar lagras som stora heltal snarare än läsbara datum krävs kännedom om både epokförskjutningen och tick-intervallet för manuell konvertering.

Verktygsbeskrivning

Det här verktyget konverterar Windows FILETIME-tidsstämplar till läsbara datum- och tidsformat och tillbaka. Klistra in ett FILETIME-värde för att omedelbart se motsvarande datum i flera format, eller välj ett datum och en tid för att generera det matchande FILETIME-värdet. Alla konverteringar är tidszonsmedvetna med en sökbar tidszonsväljare.

Exempel

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

Funktioner

  • Dubbelriktad konvertering mellan Windows FILETIME-ticks och läsbara datum
  • Flera utdataformat: FILETIME-ticks, Unix-tidsstämpel (sekunder), ISO 8601, UTC, lokal tid och relativ tid
  • Sökbar tidszonsväljare med UTC-offsetvisning för korrekt lokal tidskonvertering
  • Knapp med ett klick för att infoga aktuell tid som ett Windows-tidsstämpel
  • Datum- och tidsväljare för omvänd konvertering från ett valt datum tillbaka till FILETIME

Hur det fungerar

Konverteraren tillämpar en fast förskjutning för att översätta mellan Windows- och Unix-epokerna. Windows-epoken börjar den 1 januari 1601, medan Unix-epoken börjar den 1 januari 1970. Skillnaden mellan dessa två datum är exakt 11 644 473 600 sekunder, eller 116 444 736 000 000 000 i 100-nanosekundsticks.

För att konvertera ett FILETIME-värde till ett datum subtraherar verktyget epokförskjutningen och dividerar med 10 000 för att få millisekunder sedan Unix-epoken. För den omvända riktningen multipliceras Unix-millisekunderna med 10 000 och förskjutningen läggs tillbaka. All aritmetik använder BigInt för att bevara den fullständiga 64-bitarsprecisionen hos FILETIME-värden.

Användningsområden

  • Systemadministration: Avkoda Active Directory-attribut som lastLogonTimestamp eller pwdLastSet vid felsökning av kontoproblem eller granskning av användaraktivitet
  • Digital forensik: Konvertera NTFS-filtidsstämplar under incidenthantering för att upprätta tidslinjer från Windows-diskavbilder eller händelseloggar
  • Mjukvaruutveckling: Felsök eller verifiera FILETIME-värden som påträffas i Windows API:er, Registry-poster eller filmetadata under applikationsutveckling