我收到了一位摄影师发来的一些照片。当我使用exiftool时,我发现摄影师相机的时区不正确。
Create Date : 2024:04:21 05:40:41-05:00
Date/Time Original : 2024:04:21 05:40:41-05:00
Modify Date : 2024:04:21 13:08:27+07:00
Date/Time Created : 2024:04:21 05:40:41-05:00
Digital Creation Date/Time : 2024:04:21 05:40:41-05:00
正确的时区是 UTC+7:00(印度支那时间 (ICT)),但多个 exif 字段错误地包含-05:00
.
日期和时间在其他方面都是正确的。例如,创建日期应为2024:04:21 05:40:41
UTC+7:00 印度支那时间。(修改日期是我假设摄影师使用照片编辑软件编辑照片的日期)。
如何使用 exiftool 来更正具有 的字段的时区-5:00
?
另外,我想设置文件创建和修改日期以匹配 exif 创建日期。
这是更完整的 exiftool 输出,以防有帮助:
$ exiftool -time:all -G1 -a -s DSC00907.jpg
[System] FileModifyDate : 2024:04:21 05:40:41+07:00
[System] FileAccessDate : 2024:04:24 19:15:59+07:00
[System] FileInodeChangeDate : 2024:04:24 19:15:59+07:00
[IFD0] ModifyDate : 2024:04:21 13:08:27
[ExifIFD] DateTimeOriginal : 2024:04:21 05:40:41
[ExifIFD] CreateDate : 2024:04:21 05:40:41
[ExifIFD] OffsetTime : +07:00
[ExifIFD] OffsetTimeOriginal : -05:00
[ExifIFD] OffsetTimeDigitized : -05:00
[XMP-xmp] ModifyDate : 2024:04:21 13:08:27+07:00
[XMP-xmp] CreateDate : 2024:04:21 05:40:41-05:00
[XMP-xmp] MetadataDate : 2024:04:21 13:08:27+07:00
[XMP-photoshop] DateCreated : 2024:04:21 05:40:41-05:00
[XMP-xmpMM] HistoryWhen : 2024:04:21 13:08:27+07:00
[IPTC] DateCreated : 2024:04:21
[IPTC] TimeCreated : 05:40:41-05:00
[IPTC] DigitalCreationDate : 2024:04:21
[IPTC] DigitalCreationTime : 05:40:41-05:00
[ICC-header] ProfileDateTime : 1998:02:09 06:49:00
[Composite] SubSecCreateDate : 2024:04:21 05:40:41-05:00
[Composite] SubSecDateTimeOriginal : 2024:04:21 05:40:41-05:00
[Composite] SubSecModifyDate : 2024:04:21 13:08:27+07:00
[Composite] DateTimeCreated : 2024:04:21 05:40:41-05:00
[Composite] DigitalCreationDateTime : 2024:04:21 05:40:41-05:00
在上面的输出中,您可以完全忽略
ProfileDateTime
、MetadataDate
和HistoryWhen
。第一个仅适用于 ICC_Profile 颜色数据,不应更改。另外两个是工作流程标签,切勿用于确定图像的日期。每当文件被修改时,这些都应该自动更新,尽管这取决于所使用的程序。例如,Adobe 程序将始终更新这些内容,但许多不太专业的程序不会。复合组标签是 exiftool 动态创建的标签,以便于在标签/组/文件之间复制数据。它们实际上并不存在于文件中。它们可以被忽略,因为当它们读取的底层标签被更正时它们会发生变化。
IFD0:ModifyDate
/XMP-xmp:ModifyDate
/标签可以忽略,因为它们属于与/标签ExifIFD:OffsetTime
类似的类别。每当图像被修改时,它们就应该被改变。如果缺少其他更重要的日期/时间标签,程序可能会使用这些标签来确定图像的日期,因此这取决于个人喜好。如果需要,可以按如下所述修复这些问题。MetadataDate
HistoryWhen
实际重要的标签是其余
OffsetTime
标签,DateTimeOriginal
、DateCreated
和 两个CreateDate
标签。在较小程度上,还有DigitalCreationTime
/TimeCreated
标签。要修复时区,请使用exiftool 的ShiftTime功能。要从 转到
-05:00
,+07:00
需要轮班 +12 小时。其基本格式是-TAG+=+12:00
结果命令将是
如果需要,可以使用相同的格式将修改类型标签添加到此命令中。
此命令创建备份文件。添加
-overwrite_original
以抑制备份文件的创建。添加-r
递归到子目录中。添加-P
(-preserve
) 选项以保留当前的FileModifyDate
.文件系统标签是唯一剩下的标签。这些标签存储为 UTC,文件系统在提取时将它们转移到本地时区。因此,它们将始终以当地时间显示,如果图像是在不同的时区拍摄的,则当地时间将不同。
Exiftool 无法编辑
FileAccessDate
/FileInodeChangeDate
标签,并且没有理由尝试这样做,因为只要触摸其所在的文件/目录,这些标签就会不断更新。这
FileModifyDate
与上面的修改日期类似,但适用于以任何方式修改文件的时间,而不仅仅是图像。