【问题标题】:How to get the original datetime from a different timezone如何从不同的时区获取原始日期时间
【发布时间】:2020-07-08 09:49:10
【问题描述】:

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

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

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

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

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

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

非常感谢。

弗兰克

【问题讨论】:

  • 不熟悉这个元数据库。有什么办法可以告诉你原来的时区吗?
  • 乔尼,这就是我要找的。到目前为止我还没有找到。

标签: java datetime timezone metadata-extractor


【解决方案1】:

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

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

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

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

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

我还要指出,有些相机会存储图像拍摄地点的纬度和经度,所以即使你在世界各地旅行,也可以将这些信息发送到derive the time zone identifier

【讨论】:

    猜你喜欢
    • 2017-03-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-18
    • 1970-01-01
    • 2020-03-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多