Похоже, что этот вопрос был задан аналогичным образом в разделе «Какой диапазон дат может отображать проводник Windows?" и ответ на этот пост дает несколько хороших ресурсов, предлагающих ключ к объяснению.
Я немного покопался в этих и других ресурсах и приведу ссылки на части, которые, на мой взгляд, актуальны и важны для вашего вопроса, поскольку вы опубликовали награду, для вас должно быть важно получить проверяемый ответ.
Примечание. Я считаю, что это ограничение Windows Explorer/File Explorer, а не ограничение основной файловой системы.
Согласно сообщению "Интерпретация временных меток NTFS" и результатам всестороннего тестирования. , ,
GUI Проводника Windows:
Диапазон меток времени:
- 1980-01-01 00:00:00 - 2107-12-31 23:59:57
- 2107-12-31 23:59:58 и:59 показаны как (пусто)
Оставшиеся временные метки за пределами диапазона переводятся как (пусто)
Интерпретация результатов
С точки зрения охвата, ни один из инструментов, представленных выше, не является идеальным:на все влияет какое-то ограничение на период времени, который они переводят правильно. Инструменты, которые выходят лучше всего, в порядке временного диапазона, который они поддерживают:
- Графический интерфейс Windows Explorer (1980–2107)
источник
Согласно « Почему время создания, доступа или изменения моего файла исчезает, если я установил его на полночь 1 января 1980 года? здесь актуальная информация. , ,
Клиент обнаружил, что если его программа использовала функцию SetFileTime
для установки времени создания, доступа или изменения сетевого файла к определенному значению «полночь 1 января 1980 года», то соответствующая метка времени удаляется.
источник
Некоторое время назад я обсуждал несколько форматов временных меток, с которыми вы можете столкнуться. Сегодня мы сделаем логичный шаг из этой информации и разработаем список особых ценностей, с которыми вы можете столкнуться. Обратите внимание, что если вы примените настройки часового пояса, фактическая временная метка может сместиться на день.
- Дата: 31 декабря 1969 г. - 1 января 1970 г.
- Интерпретация: значение -1 или 0 как time_t.
Все эти специальные значения имеют одну общую черту: если вы их видите, это, вероятно, ошибка. Обычно они возникают, когда кто-то не выполняет надлежащую проверку ошибок и в конечном итоге обрабатывает код ошибки, как если бы он был допустимым возвращаемым значением. (Специальные значения 0, -1 и 0xFFFFFFFF часто используются в качестве кодов ошибок.)
источник
Дополнительные ресурсы