Java не предоставляет прямой доступ к необработанному времени файла, поэтому, если вы попросите lastModified time
someFile.lastModified();
Вы получите время последнего изменения файла, измеренное в миллисекундах с начала эпохи (00:00:00 по Гринвичу, 1 января 1970 г.), или 0L, если файл не существует или если произошла ошибка ввода-вывода
Не каждая платформа отслеживает «одинаковые» времена по отношению к файлу, и то, как они отслеживают его внутренне, отличается. Часть попытки Java сделать согласованную платформу из различных стандартов использует полиморфизм, чтобы перевести определенное время платформы в «стандарт Java» под прикрытием.
Теперь, чтобы преобразовать Миллис, возвращаемое во время Java:
java.util.Date date = new java.util.Date(millis);
Оттуда вы можете использовать стандартные процедуры ввода / вывода для отображения и форматирования даты (DateFormat и т. Д.)
PS. 01.01.1601 была выбрана в качестве эпохи COBOL изначально и имитировалась Microsoft (и, возможно, другими). Причина, по которой он был выбран, заключается в том, что это начало 400-летнего цикла григорианского календаря во время выпуска операционной системы. Каждые 400 лет схема високосных лет повторяется.