По POSIX дата хранится как целое длиной 32 бита, означающее число секунд с началом отсчета "1970-01-01 00:00:00". Если интерпретировать это число как беззнаковое, то предел наступит в 2106-ом году, а для знакового - 2038-ом.
Формат даты и времени в MSDOS:
│ 1 1 1 1 1 1                       Load word at DIR_ENTRY+16H into a
│╓5┬4┬3┬2┬1┬0┬9┬8╥7┬6┬5┬4┬3┬2┬1┬0╖  16-bit register and perform mask
│║   hour  │  minute   │  sec/2  ║  and shift operations to extract
│╙─┴─┴─┴─┴─┴─┴─┴─╨─┴─┴─┴─┴─┴─┴─┴─╜  components of the file time.
│ ╚╦╝ ╚╦╝ ╚╦╝
│     ║          ║          ╚► 2-second increments (0-30 valid) (t & 001fH)
│     ║          ╚► minute (0-59 valid)       ((t & 07e0H) >> 5)
│     ╚► hour (0-23 valid)       ((t & 0f800H) >> 11)
│
│ 1 1 1 1 1 1
│╓5┬4┬3┬2┬1┬0┬9┬8╥7┬6┬5┬4┬3┬2┬1┬0╖
│║    year     │ month │   day   ║  Use word at DIR_ENTRY+18H.  After 16-bit
│╙─┴─┴─┴─┴─┴─┴─┴─╨─┴─┴─┴─┴─┴─┴─┴─╜  masks and shifts, add 1980 (07bcH) to year.
│ ╚╦╝ ╚╦╝ ╚╦╝
│       ║          ║        ╚► day (0-31)                       (d & 001fH)
│       ║          ╚► month (1-12 valid)        ((d & 01e0H) >> 5)
│       ╚► year (0-119 valid)        ((d & f800H) >> 9)
Отсчет идет от "1980-01-01 00:00:00". Предел - 2099 год.