Дата изменения файла, также называемая датой или временем изменения, это дата и время, когда файл в последний раз был изменен. В списке метаданных это поле называется File Modification Date/Time. Программа ExifTool называет этот тег FileModifyDate.
Эта дата не хранится внутри файла. Ее хранит файловая система на вашем диске, рядом с именем файла и размером файла. ExifTool называет такие значения псевдотегами, потому что это не настоящие метаданные внутри файла.
Какие файлы его содержат
Каждый файл имеет дату изменения, независимо от его формата. Фотографии, песни, видео и документы получают ее от файловой системы.
Проводник Windows показывает ее как Date modified, а программы Windows называют ее временем последней записи (last write time). Системы, следующие стандарту POSIX, называют ее меткой времени последнего изменения данных (last data modification timestamp).
Как выглядит это значение
ExifTool показывает год, месяц и день, разделенные двоеточиями, затем время и смещение часового пояса. В документации ExifTool приведен такой пример:
2009:10:05 20:40:36-04:00означает 5 октября 2009 года, в 20:40:36 вечера-04:00в конце означает на 4 часа позади UTC, а знак плюса означает время впереди UTC
В Windows файловая система NTFS хранит дату в UTC. Отображаемое время зависит от часового пояса вашего компьютера. В примере Microsoft файл, сохраненный в 15:00 по тихоокеанскому времени, отображается как 18:00 на компьютере с восточным часовым поясом.
Старая файловая система FAT вместо этого хранит локальное время, поэтому один и тот же файл показывает 15:00 в обоих местах. FAT также хранит время изменения с шагом в 2 секунды.
Что изменяет дату изменения файла
Дата устанавливается на текущее время, когда программа записывает в файл новые данные, например при сохранении документа. Запись новых метаданных в файл, например тега фотографии, тоже изменяет дату. ExifTool устанавливает эту дату на текущее время при записи тега, если вы не используете параметр -P.
Чтение файла не изменяет дату изменения. Чтение меняет другое значение, дату последнего доступа. Программы копирования работают по-разному: одни сохраняют исходную дату изменения, другие устанавливают для копии текущее время.
Вы также можете задать эту дату сами. Команда POSIX touch устанавливает ее в текущее время или во время, которое вы укажете. ExifTool может скопировать дату съемки фотографии в дату изменения файла.
Даты изменения внутри файла
Во многих форматах дата изменения также хранится внутри файла. Обновить ее может только программа, которая редактирует файл, поэтому она может отличаться от даты файловой системы. Например:
- В фотографиях JPG EXIF‑тег
ModifyDate, ID0x0132, хранит дату и время изменения файла. Отдельный тегOffsetTimeможет хранить его часовой пояс. - В файлах PDF в информации о документе есть запись
ModDate. - В видео MP4 и MOV в заголовке фильма хранится ModifyDate, который должен записываться в UTC.
Почему это важно
Дата изменения показывает, когда файл в последний раз был сохранен, а не когда он был создан. Для момента съемки фотографии см. Date/Time Original. Для момента первого создания файла см. Create Date.
Значение настолько точное, насколько точны часы на компьютере, который сохранил файл. Программы также могут установить его на любое время, поэтому оно не доказывает, когда файл действительно был изменен.
Программы резервного копирования могут использовать эту дату, чтобы находить изменившиеся файлы. Например, команда Windows Robocopy может пропускать файлы по дате их последнего изменения.