我正在使用Drew的元数据提取器库重命名我的照片和视频。
这太棒了,但是重命名时遇到了一个主要问题,例如,当我在另一个时区而不是在拍摄视频时重命名时。
例如 我的视频是在阿根廷拍摄的,日期时间为``2020年3月27日 11:43:25 ART ”。
当我想处理文件时,回到欧洲,我可以在元数据中找到的所有日期都适应了CET,即“ 2020年3月27日 15:43:25 CET ”
因此,我不能使用这些日期时间来重命名我的文件,因为这将导致名称不正确。 我无法手动更改正在处理的每个目录的时区,因为它可以自动完成所有操作。
是否可以从文件中获取原始的日期时间/时区? (mp4,jpg,...所有类型的图像/视频)。
非常感谢。
坦率
答案 0 :(得分:1)
这是一个常见问题,与您要查询的库无关,而是与您的相机如何记录开始的时间戳有关。
许多相机根本没有时区功能。其他人则将UTC时间存储在EXIF数据中,因此无论时区如何,照片都与一个时间点对齐。在这些功能中,有的存储时区偏移,有的不存储。
如果您的相机捕获的文件中唯一的信息是基于UTC的时间戳,那么除非您碰巧知道它,否则恢复原始时区将无济于事。
幸运的是,您知道自己在阿根廷,因此可以从元数据提取器库的输出中获取基于UTC的时间戳(应该在其中,但是您必须查找它) )。然后,您可以将其转换为阿根廷时间(在Java代码中使用"America/Buenos_Aires"
作为时区ID)。
已经有很多关于如何从UTC转换为特定时区的示例,因此在此不再赘述。如果您搜索该特定问题,您会发现很多。
我还要指出,有些相机存储了拍摄图像的纬度和经度,因此即使您环游世界,也可以使用此类信息来derive the time zone identifier。