使用ExifTool修改带毫秒的图片时间戳失败求助
解决PNG图片DateTimeOriginal毫秒值无法修改的问题
问题出在PNG的Exif元数据规范和字段分工上:
- DateTimeOriginal字段的标准格式仅支持
YYYY:MM:DD HH:MM:SS,不包含毫秒信息,你传入带毫秒的参数时,ExifTool会自动截断毫秒部分,所以看起来没生效。 - 毫秒信息需要存储在单独的SubSecTimeOriginal字段中,这是Exif规范里专门用于存储子秒值的字段。
正确的修改命令应该同时设置这两个字段:
exiftool -overwrite_original -DateTimeOriginal="2024:04:26 14:24:50" -SubSecTimeOriginal="100" frame_0003.png
验证修改结果可以用以下命令,能同时看到日期时间和毫秒值:
exiftool -DateTimeOriginal -SubSecTimeOriginal frame_0003.png
如果需要一次性用带毫秒的格式赋值,也可以借助-d参数配合复合字段SubSecDateTimeOriginal(这个字段会自动拆分到DateTimeOriginal和SubSecTimeOriginal):
exiftool -d "%Y:%m:%d %H:%M:%S.%3f" -overwrite_original -SubSecDateTimeOriginal="2024:04:26 14:24:50.100" frame_0003.png
注意:部分图片查看工具可能不会自动读取并显示SubSecTimeOriginal的毫秒值,建议用ExifTool直接查看元数据确认修改结果。
内容的提问来源于stack exchange,提问作者paugam
相关产品推荐
相关产品推荐

