bekam ich diese Antwort von SharpZipLib Forum
Hallo
Dies scheint ein WinZip Bug zu sein. Das habe ich vorher nicht bemerkt.
Ich habe diesen Test:
1) Verwenden Sie WinZip eine Datei in eine zip hinzuzufügen. Klicken Sie in WinZip auf Eigenschaften und Details. Sehen Sie sich die Detailliste an und finden Sie den Zeitstempel der Datei.
2) Verwenden Sie SharpZipLib, um eine ähnliche Zip-Datei mit derselben Eingabedatei zu erstellen. Öffnen Sie das Ergebnis in Winzip und sehen Sie unter Eigenschaften> Details nach dem Zeitstempel der Datei.
Meine Eingabedatei hat einen Modified Timestamp (Dateieigenschaften) 2010-12-14 15:51:28 und in meinem Test speicherte SharpZipLib es korrekt in der Zip, während WinZip es als 2010-12-14 15 gespeichert : 51: 30
Mit anderen Worten fügte WinZip 2 Sekunden hinzu, wenn es in den Reißverschluss setzte. Nach dem Extrahieren (entweder mit WinZip oder SharpZip) ist das Modified nun 15:51:30 statt des Originals 15:51:28.
es ist erstaunlich, dass so ein offensichtlicher Fehler in WinZip kann nicht gemeldet und so lange unfixiert. Wenn Sie eine kostenpflichtige Version haben, sollten Sie mit Sicherheit einen Bugfehler melden.
Ich erinnerte mich nur etwas über 2 Sekunden Granularität in den alten 8.3 Dateisystem-Zeitstempeln.
Schnell google fand dieses ...
Zitat „Original DOS-Dateisystem nur 32 Bytes hatte eine Datei im Verzeichnis dar. Die sehr restriktiven 8.3-Dateinamen und die begrenzte Granularität (2 Sekunden) in Dateidatum sind in den Win32-Dateisystemen (VFAT) korrigiert." von http://www.xxcopy.com/xxcopy15.htm
Das Zip-Format erlaubt nur 2 Sekunden Granularität in dem Standard-Zeitstempel Eintrag Datum und Uhrzeit werden in Standard-MS-DOS-Format codiert.
Ein optionales NTFS Zusatzdatenfeld (0x000A) kann eingeschlossen werden, die die letzte Änderungszeit, die letzte Zugriffszeit und die Erstellungszeit enthalten können WinZip scheint es nicht zu erstellen SharpZip wird es verwenden wenn es vorhanden ist, aber soweit ich sehen kann, wird es nicht erstellt, wenn FastZip zum Erstellen einer Zip verwendet wird Dies könnte eine nützliche Option sein, um den Code hinzuzufügen.Sie können sicherlich manuell erstellen, wenn Sie ZipFile verwenden.
Hope this hilft, David
Ich bin mir nicht sicher, ob ich Ihre Frage verstehe. Meinst du beim Entpacken des Inhalts einer Zip-Datei mit Sharpziplib ändert sich die LastWriteTime der Zip-Datei und mit WinZip ändert sich nur einmal auf eine Sekunde letztere? –
@SoMoS: Nicht mit winzip ... durch code ... Es gibt eine Änderung in Sekunden ... für diese Datei 1 Sekunde ... für andere Dateien 2 oder 3 Sekunden Unterschied gibt es – bala3569
Nur aus einem anderen Blickwinkel ; Sind Sie sicher, dass die Extrahierung falsche Zeitstempel für extrahierte Dateien erstellt oder wenn die ursprüngliche Ansicht (in zipfile, vor dem Entpacken) falsche Zeitstempel enthält? Ich bin mir nicht sicher, wie Zip seine Zeitstempel gespeichert hat, aber ich vermute, dass es "Sekunden seit 1-1-70" ist. Einer der beiden scheint das anders zu berechnen. –