0

我正在使用 Drew 的元数据提取器库来重命名我的照片和视频。

这太棒了,但是当我在另一个时区而不是在拍摄视频时,我在重命名时遇到了一个主要问题,例如视频。

例如,我的视频是在阿根廷拍摄的,日期时间为“Fri Mar 27 11:43:25 ART 2020”。

当我想在欧洲处理我的文件时,我可以在元数据中找到的所有日期都已适应 CET ,即“Fri Mar 27 15:43:25 CET 2020”。

因此,我不能使用这些日期时间来重命名我的文件,因为这会导致名称不正确。我不能手动更改我正在处理的每个目录的时区,因为它可以自动执行所有操作。

有没有办法从我的文件中获取原始日期时间/时区?(mp4、jpg、...所有类型的图像/视频)。

非常感谢。

坦率

4

1 回答 1

2

这是一个常见问题,与您询问的库没有任何关系,而是与您的相机如何记录开始时的时间戳有关。

许多相机根本没有时区功能。其他人将 UTC 时间存储在 EXIF 数据中,因此无论时区如何,照片都与时间点对齐。在那些这样做的人中,有些存储时区偏移量,有些则不存储。

最终,如果您的相机捕获的文件中的唯一信息是基于 UTC 的时间戳,那么您无法恢复原始时区 - 除非您碰巧知道它。

幸运的是,您知道自己在阿根廷,因此您可以从元数据提取器库的输出中获取基于 UTC 的时间戳(那里应该有一个,但您必须查找它)。然后您可以将其转换为阿根廷时间("America/Buenos_Aires"在您的 Java 代码中用作时区 ID)。

已经有很多关于如何从 UTC 转换到特定时区的示例,所以我不会在此处包含一个。如果您搜索该特定问题,您可以找到很多。

我还要指出,有些相机会存储拍摄图像的纬度和经度,因此即使您在世界各地旅行,也可以使用这些信息来获取时区标识符

于 2020-03-27T17:58:38.523 回答