Ответы пользователя по тегу Часовые пояса
  • Как записывается время съёмки в файл фотографии?

    Moskus
    @Moskus
    Хотя EXIF и является стандартом, но его реализации все же имеют отличия и, нередко - ошибки.
    EXIF имеет поле 0x882a TimeZoneOffset, которое может хранить одно или два значения: смещение относительно GMT у поля 0x9003 DateTimeOriginal и (опционально) смещение у поля 0x0132 ModifyDate (оно же DateTime).
    Однако, есть камеры, которые ничего не пишут в TimeZoneOffset и вообще не имеют в интерфейсе настроек для смещения. Вместо этого они просто пишут то, что показывают их часы, в DateTimeOriginal. Таким образом, узнать, в каком часовом поясе снято это фото, и какое время было установлено в камере, оказывается нельзя.
    Соответственно, точно также может существовать софт, который не основан на одной из известных библиотек работы с метаданными, а потому он спокойно может поле зоны игнорировать (не знать о нем).
    А еще, время может за каким-нибудь чертом храниться в IPTC или XMP секции фото (если оно уже прошло через какую-то обработку), после чего может выясниться, что программа, которая будет открывать это фото потом, имеет приоритет IPTC над EXIF (например). И что-нибудь еще игнорирует. Еще больше запутать ситуацию могут EXIF-теги производителя. Например, у Olympus есть свой 0x0908 DateTimeUTC который обязан содержать время в UTC (то есть нулевую временную зону), однако кто же ставит время в камерах по UTC?

    Потому ответ на ваш вопрос зависит от конкретного софта, о котором идет речь, и от конкретной камеры. Вот такой вот бардак.
    Ответ написан
    4 комментария