Число - это порядковое представление числа дней с определенной эпохи.Похоже, что программа не рассчитывает что-то совершенно правильное, потому что дата всего лишь несколько дней до 1801-01-01.
+------------+------------+----------------+-------------+
| Date | Hex value | Decimal (days) | Date - days |
+------------+------------+----------------+-------------+
| 1985-06-18 | 0x00010731 | 67377 | 1800-12-28 |
| 1985-06-19 | 0x00010732 | 67378 | 1800-12-28 |
| 2000-01-01 | 0x00011bef | 72687 | 1800-12-28 |
+------------+------------+----------------+-------------+
Может быть интересно посмотреть, что она конвертирует 1801-01-01 в.Если в качестве эпохи используется 1800-12-28, его следует преобразовать в 4 или 04 00 00 00
при сохранении в файл.Если он преобразуется в 00 00 00 00
, тогда математика даты, используемая программным обеспечением, пропускает где-то несколько дат.
Итак, в итоге: шестнадцатеричное значение представляет количество дней с возможной эпохи 1800-12-28.Чтобы получить дату, к этой дате добавляется количество дней, в результате чего дата отображается в программе.