![zip 文件是否将其创建时间存储在 zip 本身中?](https://linux22.com/image/1533874/zip%20%E6%96%87%E4%BB%B6%E6%98%AF%E5%90%A6%E5%B0%86%E5%85%B6%E5%88%9B%E5%BB%BA%E6%97%B6%E9%97%B4%E5%AD%98%E5%82%A8%E5%9C%A8%20zip%20%E6%9C%AC%E8%BA%AB%E4%B8%AD%EF%BC%9F.png)
我听说确实如此,但我如何才能访问这些信息?7-Zip 和 WinRAR 都没有告诉我。另外,秒数是否按偶数秒(2 秒精度)存储?
答案1
没有。 PKWare 的 AppNote.txt表示文件存储修改时间,但不存储创建时间。因此,如果您使用兼容软件修改 Zip 文件,您将获得更新的修改时间,从而忘记创建时间。
因此,无法访问创建时间,因为没有存储。至于修改时间,查看第 11 和第 12 个字节将包含以下位(如Florian Buchholz 的“PKZip 文件的结构”。然后您需要手动解释。这可能是最快的方法:我检查了另外几个软件包,结果似乎没有立即显示修改时间。(创建一个程序来显示这一点并不困难。如果您将其提交给编程谜题和代码高尔夫。)(使用操作系统的文件时间信息可能是获取修改时间的更方便的方法。与我在问题下对 Romeo Ninov 的(第一个)评论相反,该过程将更具体地针对所使用的操作系统。)
至于 2 秒的精度,答案是肯定的。*AppNote.txt 显示修改时间存储在 2 个字节中,第 4.4.6 节说“日期和时间以标准 MS-DOS 格式编码。” 一些 FAT16 文档确认跟踪秒数的可能值是 0-29,并且该值加倍(因此结果是您只获得偶数秒)。
- 话虽如此,我刚刚使用了 7-Zip 命令行工具 (7z.exe l filename.zip),它显示了一个时间,其中秒数为 13。这是特定压缩文件的时间,而不是 ZIP 文件本身的时间。