如何找到松下EXIF中设置的时区

Posted

技术标签:

【中文标题】如何找到松下EXIF中设置的时区【英文标题】:How to find time zone set in Panasonic EXIF 【发布时间】:2022-01-11 05:27:15 【问题描述】:

松下 Lumix GX8 没有 GPS,所以通常不知道它在哪里。但是,可以手动设置时间并设置时区。但我不知道 EXIF 数据中是否有这些信息。

TimeStamp 显示 UTM 时间,所有其他与时间相关的 EXIF 数据都是本地时间(无论为相机设置什么时间。所以相机正在存储偏移量,但我想直接获取它。

在红宝石中

require …
photo = MiniExiftool.new(fn) # fn is a filename
timeZone =  (photo.CreateDate - photo.TimeStamp)/3600
puts "timeZone: #timeZone"

按预期工作。但是可以通过EXIF直接找到偏移量吗?

exiftool.org 有

 Panasonic TimeInfo Tags

Index1  Tag Name    Writable    Values / Notes
0   PanasonicDateTime   undef[8]     

但对于 GX8,PanasonicDateTime 为空。

exiftool -G1 -a -s -time:all "file.rw2"
[System]        FileModifyDate                  : 2021:12:05 18:40:45-08:00
[System]        FileAccessDate                  : 2021:12:05 19:17:28-08:00
[System]        FileInodeChangeDate             : 2021:12:05 18:40:45-08:00
[IFD0]          ModifyDate                      : 2021:11:25 15:31:34
[ExifIFD]       DateTimeOriginal                : 2021:11:25 15:31:34
[ExifIFD]       CreateDate                      : 2021:11:25 15:31:34
[Panasonic]     TimeStamp                       : 2021:11:25 22:31:34
[ExifIFD]       SubSecTime                      : 277
[ExifIFD]       SubSecTimeOriginal              : 277
[ExifIFD]       SubSecTimeDigitized             : 277
[GPS]           GPSTimeStamp                    : 22:31:34
[GPS]           GPSDateStamp                    : 2021:11:25
[ExifIFD]       DateTimeOriginal                : 2021:11:25 15:31:34
[ExifIFD]       CreateDate                      : 2021:11:25 15:31:34
[ExifIFD]       SubSecTimeOriginal              : 277
[ExifIFD]       SubSecTimeDigitized             : 277
[GPS]           GPSTimeStamp                    : 22:31:34
[GPS]           GPSDateStamp                    : 2021:11:25
[Composite]     SubSecCreateDate                : 2021:11:25 15:31:34.277
[Composite]     SubSecDateTimeOriginal          : 2021:11:25 15:31:34.277
[Composite]     SubSecModifyDate                : 2021:11:25 15:31:34.277
[Composite]     GPSDateTime                     : 2021:11:25 22:31:34Z
[Composite]     GPSDateTime                     : 2021:11:25 22:31:34Z

【问题讨论】:

您是否使用 exiftool 检查过输出?试试这个命令exiftool -G1 -a -s -time:all file.jpg 这将显示所有与时间相关的标签及其位置。 Ruby 不太可能找到您提到使用 exiftool 找到的 Panasonic 特定标签,因为它们是 MakerNotes,它们是保存在 EXIF 块的子部分中的专有标签。不同相机制造商编写 MakerNotes 的方式并不一致,甚至同一制造商的不同相机之间可能会有所不同。这还没有考虑到有时 MakerNotes 是加密的。 @StarGeek。我一直在命令行上使用 exiftool,您的选项有助于限制需要阅读的内容。我会把它添加到 OP 中。感谢您提供有关 MakerNotes 的信息。正如我提到的 exiftool.org 有一些松下领域。并且很多确实出现了,但猜不是我想要的那个。我将使用我的解决方法。 【参考方案1】:

EXIF 支持 UTC 偏移量:

9010.H“OffsetTime”(增加132.H“DateTime”) 9011.H“OffsetTimeOriginal”(增加9003.H“DateTimeOriginal”) 9011.H“OffsetTimeDigitized”(用于扩充 9004.H“DateTimeDigitized”)

来源:CIPA's Exif standard 2.31 from 2016,语义第 49 页,数字第 54 页。

您已经看到其他时间增强字段:SubSecTimeSubSecTimeOriginalSubSecTimeDigitized 也可用于提供毫秒。现在由 EXIF 编写器将您的时区转换为 UTC 偏移量并写入附加字段。如果任何 Panasonic 软件没有将其写入官方 EXIF 字段,请寻求他们的支持。

链接Why don't Exif tags contain time zone information?

【讨论】:

谢谢。我的相机是 Exif 2.30,就在此更改之前。我的相机于 2016 年年中问世,除了非常高端的产品外,不会经常更新。刚刚检查,最后一次更新是在 2016 年。我将继续使用我的解决方法。

以上是关于如何找到松下EXIF中设置的时区的主要内容,如果未能解决你的问题,请参考以下文章

获取指定时区的日期时间,与计算机中设置的日期时间无关

如何使用正确的时区显示日期

如何根据文本字段 Material UI 中设置的值将对象设置为状态

如何在流明 5.2 中设置时区?

在客户端的 JavaScript 中访问 JPEG EXIF 旋转数据

如何设置 Varnish 在端口 80 上运行。/etc/default/varnish 中设置的 DAEMON_OPTS 故障