You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
zip: Fix incorrect time/date, add extended timestamp and refactor
MSDOS time/date was read in wrong order and also did not take into account
that the bit ranges in the shortis are in little-endian.
Remodel modification_time/date to be one struct with fat_time, fat_date LE shorts
and then synthetic values for day, hours, minute etc and also a unix field with the
timestamp as unix time.
Also refactor and clenaup extra fields/extended code a bit.
Fixes#792
Copy file name to clipboardExpand all lines: doc/formats.md
+6
Original file line number
Diff line number
Diff line change
@@ -1395,9 +1395,15 @@ Decode value as zip
1395
1395
1396
1396
Supports ZIP64.
1397
1397
1398
+
## Timestamp and time zones
1399
+
1400
+
The timestamp accessed via `.local_files[].last_modification` is encoded in ZIP files using [MS-DOS representation](https://learn.microsoft.com/en-us/windows/win32/api/oleauto/nf-oleauto-dosdatetimetovarianttime) which lacks a known time zone. Probably the local time/date was used at creation. The `unix_guess` field in `last_modification` is a guess assuming the local time zone was UTC at creation.
0 commit comments