Takeout JSON
RU

После копирования с телефона у фото сегодняшняя дата: что делать

В Windows 11 дату съемки можно изменить у одного фото в «Свойствах». Для целой папки фото с датой копирования: откуда это берется и как вернуть настоящие даты разом.

Вы подключили телефон к компьютеру, скопировали фотопленку в папку, и теперь у каждого фото сегодняшняя дата. Сортировка по дате дает случайный порядок. Годы снимков, будто бы сделанных сегодня днем.

Почему копирование сбрасывает даты

У файла есть свои даты: создания, изменения и доступа. Они принадлежат файловой системе, а не фото. Когда файл записывается на новый диск, этот диск записывает новую дату создания — сейчас. Сохранится ли дата изменения, зависит от способа копирования.

Телефоны делают только хуже. Android открывает свою память по MTP (режим «Передача файлов»), а MTP вообще не передает даты создания. Многие передачи по MTP к тому же ставят дату изменения равной времени копирования. AirDrop с iPhone сохраняет даты на Mac, но в других местах ненадежно. Скачивание из облака, вложения в письмах и мессенджеры дают новый файл с новой датой.

Ничто из этого не касается самого фото. Меняется только обертка, которую файловая система кладет вокруг него.

Дата, которая сохраняется

Внутри JPEG или HEIC есть блок метаданных EXIF, который камера записала в момент съемки. Это поле называется DateTimeOriginal. Оно не меняется при копировании, отправке по почте или переименовании. Это и есть настоящая дата съемки.

Беда в том, что файловые менеджеры по умолчанию сортируют по дате файловой системы, а не по EXIF. Проводник показывает «Дата изменения». Finder показывает дату изменения или дату создания. Ни одна из них не является датой съемки, если только кто-то специально их не синхронизировал.

Поэтому исправление — одно из двух. Либо заставить программу сортировать по EXIF, либо скопировать дату из EXIF обратно в метки времени файла, чтобы все программы были согласны. Полная история трех дат — в статье EXIF date taken vs file modified (на английском).

Проверьте, цела ли дата в EXIF

Прежде чем что-то исправлять, убедитесь, что настоящая дата все еще есть в файлах. Нажмите на фото правой кнопкой, откройте «Свойства» в Windows или «Свойства» (Get Info) в macOS и найдите поле «Дата съемки» или сведения о камере. В Linux ее выведет exiftool -DateTimeOriginal photo.jpg.

Если дата в EXIF есть, исправление простое и без потерь. Если ее нет, фото прошло через что-то, что удаляет метаданные, обычно мессенджер или «Сохранить как» в редакторе, и восстановить можно меньше. Этот случай разбирает статья WhatsApp photos wrong date (на английском).

Исправить даты файлов вручную

exiftool одной командой копирует дату из EXIF в даты файловой системы для целой папки:

exiftool "-FileModifyDate<DateTimeOriginal" -r .

В Windows и macOS можно также выставить дату создания:

exiftool "-FileCreateDate<DateTimeOriginal" "-FileModifyDate<DateTimeOriginal" -r .

В Linux большинство файловых систем не хранят дату создания, которую могут менять пользовательские программы, поэтому важна дата изменения.

После этого сортировка по дате в любом файловом менеджере дает правильный порядок. Это ничего не стоит и не меняет данные изображения.

Обратный случай, когда даты файлов верные, а EXIF нет, встречается реже, но бывает у отредактированных или экспортированных фото. exiftool копирует и в эту сторону, через "-DateTimeOriginal<FileModifyDate". Делайте это, только если уверены, что даты файлов верны, потому что запись идет внутрь самого фото.

Как избежать этого в следующий раз

На Android копирование через приложение синхронизации, например Syncthing, или через файловый менеджер телефона на флешку обычно лучше сохраняет даты изменения, чем MTP. С iPhone даты сохраняет «Захват изображений» на Mac, а также импорт в приложении «Фотографии» в Windows. Ни один способ не идеален. Надежный ответ — не обращать внимания на даты файлов и доверять EXIF, как это делают программы для фото. То же верно и в обратную сторону, когда вы переносите фото на новый телефон и хотите сохранить даты.

С помощью программы

Takeout JSON Metadata Fixer делает то же, что команды exiftool выше, для папки или целого экспорта, с пробным прогоном для начала.

Перетащите в нее скопированную папку. Для каждого фото программа читает дату из EXIF и записывает ее в даты создания и изменения файла, так что Finder и Проводник сортируют правильно. Если хотите, она также переименовывает файлы, чтобы имя начиналось с даты, и раскладывает их по папкам год/месяц, так что порядок виден даже в программах, которые вообще не смотрят на даты.

По вашему желанию она упорядочивает папку на месте, с необязательной папкой «Originals (before organizing)», где лежат нетронутые файлы. Видео получают дату из собственных метаданных времени создания. Фото совсем без даты получают дату файла, или вы можете задать одну дату на папку.

Если фото пришли из Google Фото, а не прямо с телефона, программа также читает файлы .json, которые прикладывает Google, потому что в этом случае настоящие даты прячутся там. См. неправильная дата фото из Google Takeout.

Работает без интернета на macOS, Windows и Linux. Бесплатно для 1000 фото. 19,99 $ один раз — без ограничений.

Частые вопросы

Копирование что-то испортило?

Нет. Изображение и его EXIF не изменились. Сбросились только даты файловой системы вокруг файла, а их можно восстановить из EXIF.

Почему галерея на телефоне показывает правильный порядок, а компьютер нет?

Галерея на телефоне читает EXIF или собственную базу времени съемки. Файловый менеджер на компьютере читает даты файловой системы. Те же фото, другое поле.

Google Фото, iCloud или Immich возьмут неправильную дату, если я это загружу?

Обычно нет. Все они сначала читают EXIF и берут дату файла, только если EXIF нет. Фото с целым EXIF импортируются правильно даже с неверными датами файлов. Фото без EXIF покажут дату копирования, поэтому такие фото стоит исправить до загрузки.

Важен ли часовой пояс?

В старых фото у EXIF DateTimeOriginal нет часового пояса. Новые телефоны добавляют тег OffsetTimeOriginal. При копировании даты в метки времени файла программы берут местный часовой пояс компьютера, поэтому фото, снятое за границей, может сдвинуться на несколько часов. Дата почти всегда остается верной.