Registriert seit: 29. Mär 2009
439 Beiträge
|
AW: Altes Thema kurze Frage zu FileAge
31. Jan 2014, 12:21
Ich verstehe Deine Frage nicht wirklich.
Zu dem Problem Sommerzeit/Winterzeit kann ich jedoch etwas beitragen. Bei der Berechnung des Dateidatums hat man es sich unter Windows leider sehr einfach gemacht (FileAge benutzt FileTimeToLocalFileTime). Zunächst muss man wissen, dass einige Dateisystem die Zeiten intern als UTC und einige als lokale Zeit speichern. Bei FAT/FAT32/Netware wird die Zeit als lokale Zeit, bei NTFS und CDFS als UTC gespeichert. Fileage rechnet immer auf die lokale Zeit um. Bei FAT muss also lediglich die lokale Zeit 1:1 ausgegeben werden. Bei NTFS muss hingegen gerechnet werden. Bei der Berechnung wird aber nicht der UTC-Bias zum Zeitpunkt des Dateidatums herangezogen, sondern der aktuelle UTC-Bias. Das führt dazu, dass sich nach der Sommerzeit/Winterzeit-Umschaltung das Dateidatum aller Dateien bei einem UTC-Filesystem ändern. Will man die korrekte lokale Zeit bekommen, ist die Funktion Fileage unbrauchbar. Um die korrekte lokale Zeit zu bekommen, muss zunächst das UTC-Dateidatum ermittelt werden. Dann muss der passende UTC-Bias dazu berechnet werden. Im nächsten Schritt kann dann mit dem UTC-Bias das lokale Dateidatum berechnet werden.
Die Auflösung des Dateidatums bei FAT/FAT32 ist 2 Sekunden. Bei NTFS ist es theoretisch 100 Nanosekunden.
|