Τι είναι ένα timestamp Windows FILETIME;

Ένα timestamp Windows FILETIME είναι μια τιμή 64-bit που αντιπροσωπεύει τον αριθμό διαστημάτων 100 nanosecond που έχουν παρέλθει από την 1η Ιανουαρίου 1601 στις 00:00:00 UTC. Αυτή η αφετηρία προηγείται της πιο γνωστής Unix epoch (1η Ιανουαρίου 1970) κατά ακριβώς 369 χρόνια. Η Microsoft επέλεξε αυτό το σημείο εκκίνησης επειδή σηματοδοτεί την αρχή ενός κύκλου 400 ετών στο Γρηγοριανό ημερολόγιο, γεγονός που απλοποιεί τους υπολογισμούς δίσεκτων ετών.

Οι τιμές FILETIME εμφανίζονται σε όλα τα συστήματα Windows, συμπεριλαμβανομένων των μεταδεδομένων αρχείων NTFS, των χαρακτηριστικών Active Directory (όπως accountExpires, lastLogonTimestamp και pwdLastSet), των καταχωρήσεων Windows Registry και των ερωτημάτων LDAP directory. Επειδή αυτά τα timestamps αποθηκεύονται ως μεγάλοι ακέραιοι αριθμοί και όχι ως ημερομηνίες αναγνώσιμες από τον άνθρωπο, η χειροκίνητη μετατροπή τους απαιτεί γνώση τόσο της μετατόπισης epoch όσο και του διαστήματος tick.

Περιγραφή εργαλείου

Αυτό το εργαλείο μετατρέπει timestamps Windows FILETIME σε αναγνώσιμες μορφές ημερομηνίας και ώρας και αντίστροφα. Επικολλήστε μια τιμή FILETIME για να δείτε αμέσως την αντίστοιχη ημερομηνία σε πολλαπλές μορφές, ή επιλέξτε ημερομηνία και ώρα για να δημιουργήσετε την αντίστοιχη τιμή FILETIME. Όλες οι μετατροπές υποστηρίζουν ζώνες ώρας με δυνατότητα αναζήτησης.

Παραδείγματα

Windows FILETIME Ημερομηνία (UTC)
132812448000000000 2021-12-01 00:00:00
116444736000000000 1970-01-01 00:00:00 (Unix epoch)
130000000000000000 2012-02-17 05:46:40
133600000000000000 2024-05-17 04:26:40

Χαρακτηριστικά

  • Αμφίδρομη μετατροπή μεταξύ Windows FILETIME ticks και ημερομηνιών αναγνώσιμων από τον άνθρωπο
  • Πολλαπλές μορφές εξόδου: FILETIME ticks, Unix timestamp (δευτερόλεπτα), ISO 8601, UTC, τοπική ώρα και σχετικός χρόνος
  • Επιλογέας ζώνης ώρας με δυνατότητα αναζήτησης και εμφάνιση UTC offset για ακριβή μετατροπή τοπικής ώρας
  • Κουμπί ενός κλικ για εισαγωγή της τρέχουσας ώρας ως Windows timestamp
  • Επιλογέας ημερομηνίας και ώρας για αντίστροφη μετατροπή από επιλεγμένη ημερομηνία σε FILETIME

Πώς λειτουργεί

Ο μετατροπέας εφαρμόζει μια σταθερή μετατόπιση για τη μετάφραση μεταξύ των epoch Windows και Unix. Η Windows epoch ξεκινά την 1η Ιανουαρίου 1601, ενώ η Unix epoch ξεκινά την 1η Ιανουαρίου 1970. Η διαφορά μεταξύ αυτών των δύο ημερομηνιών είναι ακριβώς 11.644.473.600 δευτερόλεπτα, ή 116.444.736.000.000.000 σε ticks 100 nanosecond.

Για τη μετατροπή μιας τιμής FILETIME σε ημερομηνία, το εργαλείο αφαιρεί τη μετατόπιση epoch και διαιρεί με 10.000 για να λάβει milliseconds από την Unix epoch. Για την αντίστροφη κατεύθυνση, πολλαπλασιάζει τα Unix milliseconds επί 10.000 και προσθέτει τη μετατόπιση. Όλες οι αριθμητικές πράξεις χρησιμοποιούν BigInt για τη διατήρηση της πλήρους ακρίβειας 64-bit των τιμών FILETIME.

Περιπτώσεις χρήσης

  • Διαχείριση συστήματος: Αποκωδικοποίηση χαρακτηριστικών Active Directory όπως lastLogonTimestamp ή pwdLastSet κατά την αντιμετώπιση προβλημάτων λογαριασμών ή τον έλεγχο δραστηριότητας χρηστών
  • Ψηφιακή εγκληματολογία: Μετατροπή timestamps αρχείων NTFS κατά τη διάρκεια αντιμετώπισης περιστατικών για τη δημιουργία χρονολογίων από εικόνες δίσκων Windows ή αρχεία καταγραφής συμβάντων
  • Ανάπτυξη λογισμικού: Εντοπισμός σφαλμάτων ή επαλήθευση τιμών FILETIME που εμφανίζονται σε Windows APIs, καταχωρήσεις registry ή μεταδεδομένα αρχείων κατά την ανάπτυξη εφαρμογών