Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • Home
  • SEARCH
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 1080429
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 16, 20262026-05-16T22:01:43+00:00 2026-05-16T22:01:43+00:00

I am trying to store dates as latest modification timestamp in a ZIP -file.

  • 0

I am trying to store dates as latest modification timestamp in a ZIP -file. It seems that ZIP format support only dates after 1980-01-01 as a last modification time (at least via Java API java.util.zip.ZipEntry )

Is this correct? Is the earliest supported modification timestamp really 1980-01-01 00:00:00? I tried to find some references to verify this but I couldn’t find any.

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-16T22:01:44+00:00Added an answer on May 16, 2026 at 10:01 pm

    Zip entry timestamps are recorded only
    to two 2 second precision. This
    reflects the accuracy of DOS
    timestamps in use when PKZIP was
    created. That number recorded in the
    Zip will be the timestamp truncated,
    not the nearest 2 seconds.

    When you archive and restore a file,
    it will no longer have a timestamp
    precisely matching the original. This
    is above and beyond he similar problem
    with Java using 1 millisecond
    precision and Microsoft Windows using
    100 nanosecond increments. PKZIP
    format derives from MS DOS days and
    hence uses only 16 bits for time and
    16 bits for date. There is defined an
    extended time stamp in the revised
    PKZIP format, but Java does not use
    it.

    Inside zip files, dates and times are
    stored in local time in 16 bits, not
    UTC as is conventional, using an
    ancient MS DOS format. Bit 0 is the
    least signifiant bit. The format is
    little-endian. There was not room in
    16 bit to accurately represent time
    even to the second, so the seconds
    field contains the seconds divided by
    two, giving accuracy only to the even
    second.

    This means the apparent time of files
    inside a zip will suddenly differ by
    an hour compared with their
    uncompressed counterparts every time
    you have a daylight saving change. It
    also means that the a zip utility will
    extract a different UTC time from a
    Zip member date depending on which
    timezone the calculation was done.
    This is ridiculous. PKZIP format needs
    a modern UTC-based timestamp to avoid
    these anomalies.

    To make matters worse, Standard tools
    like WinZip or PKZIP will always round
    the time up to the next even second
    when they restore, thereby possibly
    making the file one second to two
    seconds younger. The JDK (i.e.
    javaToDosTime in ZipEntry rounds the
    time down, thereby making the file one
    to two seconds older.

    The format does not support dates
    prior to 1980-01-01 0:00 UTC. Avoid
    file dates 1980-01-01 or earlier
    (local or UTC time).

    Wait! It gets even worse. Phil Katz,
    when he documented the Zip format, did
    not bother to specify whether the
    local time used in the archive should
    be daylight or standard time.

    And to cap it off… Info-ZIP, JSE and
    TrueZIP apply the DST schedule (days
    where DST began and ended in any given
    year) for any date when converting
    times between system time and DOS
    date/time. This is as it should be.
    Vista’s Explorer, 7-Zip and WinZip
    apply only the DST savings, but do not
    apply the schedule. So they use the
    current DST savings for any date when
    converting times between system time
    and DOS date/time. This is just
    sloppy.

    http://mindprod.com/jgloss/zip.html

    tar files are so much better.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.