有一次笔者出去旅游,由于没有正确设置相机的日期和时间,导致拍出来的照片的拍摄日期和时间是错误的,这让我非常难过。因为这个问题并不像看起来那么容易解决,我无法批量修改成一个固定日期和时间,而是需要计算出相机的时间和准确的时间的误差,用这个误差去调整照片的拍摄日期。最后,我发现ExifTool可以通过时间偏移来校正这个偏差。
如果你尚不了解ExifTool或元数据,请参考《ExifTool完全入门指南》。
ExifTool偏移照片拍摄日期时间
exiftool -AllDates[+-]=hour:minute:second DIR/FILE
参数解释
-AllDates
:一个同时修改DateTimeOriginal、CreateDate和ModifyDate的快捷方式[+-]
:任选其一,+即增加时间,-即减少时间hour:minute:second
:需要增加的时长,小时以上的(年月日)都需要转化成小时DIR/FILE
:目录或文件路径
当然,也可以单独修改DateTimeOriginal(拍摄时间)、CreateDate(创建时间)和ModifyDate(修改时间),只需将AllDates替换为这三种即可。
操作实例
将D:\pic\a.jpg的所有时间增加8秒
exiftool.exe -AllDates+=0:0:8 D:\pic\a.jpg
将D:\pic目录下的所有照片增加10天5小时10分钟5秒(10天5小时是245小时)
exiftool.exe -AllDates+=245:10:5 D:\pic
将D:\pic目录下的所有照片减去10天5小时10分钟5秒
exiftool.exe -AllDates-=245:10:5 D:\pic
同时处理子目录中的所有文件
exiftool.exe -AllDates-=245:10:5 -r D:\pic
不创建_original备份,直接覆盖源文件
exiftool.exe -AllDates-=245:10:5 -overwrite_original D:\pic
如果相机时间与标准时间相差甚远,如何快速计算两个日期之间间隔的天数(要考虑到闰月的问题)?请使用:在线计算两个日期间隔的天数