Mis on Windowsi FILETIME ajatempel?

Windowsi FILETIME ajatempel on 64-bitine väärtus, mis esindab 100-nanosekundiliste intervallidena möödunud aega alates 1. jaanuarist 1601 kell 00:00:00 UTC. See alguspunkt eelneb laiemalt tuntud Unixi alguspunktile (1. jaanuar 1970) täpselt 369 aasta võrra. Microsoft valis selle lähtepunkti, kuna see tähistab Gregoriuse kalendri 400-aastase tsükli algust, mis lihtsustab liigaastate arvutamist.

FILETIME väärtused esinevad kogu Windowsi süsteemis, sealhulgas NTFS-i failide metaandmetes, Active Directory atribuutides (nagu accountExpires, lastLogonTimestamp ja pwdLastSet), Windowsi registrikirjetes ning LDAP-kataloogipäringutes. Kuna need ajatemplid salvestatakse suurte täisarvudena, mitte inimloetavate kuupäevadena, nõuab nende käsitsi teisendamine nii alguspunkti nihke kui ka tiki intervalli tundmist.

Tööriista kirjeldus

See tööriist teisendab Windowsi FILETIME ajatemplid loetavateks kuupäeva- ja kellaajavorminguteks ning vastupidi. Kleebi FILETIME väärtus, et näha kohe vastavat kuupäeva mitmes vormingus, või vali kuupäev ja kellaaeg, et genereerida vastav FILETIME väärtus. Kõik teisendused arvestavad ajavöönditega ning sisaldavad otsitavat ajavööndi valijat.

Näited

Windowsi FILETIME Kuupäev (UTC)
132812448000000000 2021-12-01 00:00:00
116444736000000000 1970-01-01 00:00:00 (Unixi alguspunkt)
130000000000000000 2012-02-17 05:46:40
133600000000000000 2024-05-17 04:26:40

Funktsioonid

  • Kahesuunaline teisendamine Windowsi FILETIME tikkide ja inimloetavate kuupäevade vahel
  • Mitu väljundvormingut: FILETIME tikid, Unixi ajatempel (sekundites), ISO 8601, UTC, kohalik aeg ja suhteline aeg
  • Otsitav ajavööndi valija UTC nihke kuvamisega täpseks kohaliku aja teisendamiseks
  • Ühe klõpsuga nupp praeguse aja sisestamiseks Windowsi ajatemplina
  • Kuupäeva ja kellaaja valija vastupidiseks teisendamiseks valitud kuupäevalt FILETIME väärtuseks

Kuidas see töötab

Teisendaja kasutab fikseeritud nihet Windowsi ja Unixi alguspunktide vahel tõlkimiseks. Windowsi alguspunkt algab 1. jaanuaril 1601, samas kui Unixi alguspunkt algab 1. jaanuaril 1970. Nende kahe kuupäeva vahe on täpselt 11 644 473 600 sekundit ehk 116 444 736 000 000 000 sajananosekundilises tikis.

FILETIME väärtuse kuupäevaks teisendamiseks lahutab tööriist alguspunkti nihke ja jagab 10 000-ga, et saada millisekundid alates Unixi alguspunktist. Vastupidises suunas korrutatakse Unixi millisekundid 10 000-ga ja liidetakse nihe tagasi. Kogu aritmeetika kasutab BigInt-i, et säilitada FILETIME väärtuste täielik 64-bitine täpsus.

Kasutusjuhud

  • Süsteemiadministreerimine: Dekodeeri Active Directory atribuute nagu lastLogonTimestamp või pwdLastSet kontoprobleemide tõrkeotsingusel või kasutajategevuse auditeerimisel
  • Digitaalne kohtuekspertiis: Teisenda NTFS-i failide ajatemplid intsidentidele reageerimise käigus, et koostada ajatelgi Windowsi kettapiltidest või sündmuselogidest
  • Tarkvaraarendus: Silua või kontrolli FILETIME väärtusi, millega kohtutakse Windowsi API-des, registrikirjetes või failide metaandmetes rakenduste arendamise käigus