Exifの日時形式

Exifの日時形式

[26] Exif日時形式を6通り規定しています。

仕様書

日時

[2] ExifASCII 形式を使います。 NULL で終端する文字列です。 >>1, >>9

[3] NULL より前の ASCII文字列部分の形式は、 YYYY:MM:DD HH:MM:SS >>1, >>9 です。 自明とされているのかこの構文の意味は明記されていませんが、 日時の各部を固定長のASCII数字列として記述したものを表していると思われます。

[4] は、24時間制によります >>1, >>9

[5] 日時の間は、 0x20 SPACE です >>1, >>9

[6] 日時不明の場合は、 0x20 SPACE数字のかわりに使うか、全体を 0x20 SPACE で表す (0x20 SPACE 19個の列とする) ことができます。 >>1, >>9

[7] あるいは、日時を含むタグ全体を省略することができるかもしれません。

[29] 時差の扱いの規定はありません。

[42] Image::ExifTool は、 0000:00:00 00:00:00 という値を不明の意味で使うようです。

秒の小数部

[11] ExifASCII 形式を使います。 NULL で終端する文字列です。 >>9

[12] NULL より前の ASCII文字列部分の形式は、 有効数字分の秒の小数部ASCII数字列と、 文字列の残りを埋める任意個の 0x20 SPACE の列を連ねたものです。 >>9

[13] 全体を 0x20 SPACE とした場合、 不明を表します。 >>9

UTC 日付

[17] ExifGPSDateStamp タグでは、 ASCII 形式を使います。 NULL で終端する文字列です。 >>16

[18] UTC日付YYYY:MM:DD 形式で記述します。 >>16 自明とされたのかその詳細は明記されていませんが、年月日を順に固定長の ASCII数字列としたものと思われます。

UTC 時刻

[15] ExifGPSTimeStamp タグでは、 RATIONAL 形式の値3つの組により、 UTCを表します >>14

ICRD 日付

[20] Exif音声ファイルICRD チャンクでは、 ASCII 形式を使います。 NULL で終端する文字列です。 >>19

[21] NULL より前の ASCII文字列部分の形式は、 YYYY-MM-DD です。 YYYYを4桁で、 MMDD0埋めして2桁で表したものです。 >>19

[22] 同じ Exif でも >>3 とはなぜか違う形式です。 そして仕様書としてもこちらの方がなぜか正確です。 (それでもまだ若干行間はありますが。)

[27] 時差の扱いの規定はありません。

etim 時刻

[24] Exif音声ファイルetim チャンクでは、 ASCII 形式を使います。 NULL で終端する文字列です。 >>23

[25] NULL より前の ASCII文字列部分の形式は、 hh:mm:ss.fff です。hhmmss0埋めして2桁で表したものです。 fff秒の小数部で、桁数は任意です。0桁の場合は、 . も省略しなければなりません。 >>19

[28] 時差の扱いの規定はありません。

文脈

[8] Exif の次のタグの値として日時を使うことができます。

[10] Exif の次のタグの値として秒の小数部を使うことができます。

時間帯の扱い

[36] ExifGPS の日時 (UTC 固定) を除き、時間帯時差の扱いを規定していません。

[37] 一般的にはカメラ等撮影機器の時刻設定に従うようです。つまり地方時によって記録されます。 しかし中には UTC 固定の機器もあるようです。

[34] Exif の拡張にあたる TIFF/EP には TimeZoneOffset が追加されています。 しかし一般的な Exif の実装はこれに対応していないようです。また TIFF/EP 制定後の本家 Exif の改訂でも取り込まれていません。

[35] Exif と共に XMPメタデータ埋め込みに使われていることがあります。 XMP日時には時差を記述できます。従ってそちらの情報を使うこともできます。 ただ ExifXMP で情報に齟齬がある場合にどう処理するべきかは明らかではありません。

[38] GPS の日時が埋め込まれている場合、それを使うことができます。 ただし GPS の測位と撮影の時刻が実際にはどれだけ離れているか定かではありません。 GPS の日時を撮影時刻に使うよりは、撮影日時と GPS の日時を比較して、 15分単位の時間帯のいずれかに所属するとみなして時差を求め、 撮影日時がその時差を持つものとみなすのが良いのでしょうか。

[47] MWG の指針も GPS の日時からの推定を認めています >>46

[48] 編集時に勝手に時間帯を補って変換してはなりません >>46

[39] 利用者が日時設定 (特に日付) を杜撰にしている例はよくあるようですから、 時差計算時には注意が必要です。

[40] そもそも滅茶苦茶な値が記録されているケース (>>16) すらあります。

メモ

[30] software - Is there any hope for Exif TimeZoneOffset as a standard? - Photography Stack Exchange () <http://photo.stackexchange.com/questions/62082/is-there-any-hope-for-exif-timezoneoffset-as-a-standard>

[31] travel - What do you do with your camera clock time in relation to time zones? - Photography Stack Exchange () <http://photo.stackexchange.com/questions/21740/what-do-you-do-with-your-camera-clock-time-in-relation-to-time-zones>

[15] デジカメの日付が狂っていて写真のexif辛い問題をRubyで処理 - Qiita () <http://qiita.com/okitan/items/9a0178b10b9023249f08>

[16] Issue 53106 - android - Nexus 4 camera writes incorrect "date/time digitized" in EXIF - Android Open Source Project - Issue Tracker - Google Project Hosting () <https://code.google.com/p/android/issues/detail?id=53106>

[17] Issue 42246 - android - Nexus 4 - Exif Tag - Digicam - Date Time Digitized - - Android Open Source Project - Issue Tracker - Google Project Hosting () <https://code.google.com/p/android/issues/detail?id=42246>

[18] Instagramの変なExif情報への対処: 三日画師のかすかだり () <http://mikkagashi.cocolog-nifty.com/kasukadari/2012/04/instagramexif-8.html>

[21] 画像ファイルのEXIFタグから撮影日時と位置情報を取得する際のTips - Qiita () <http://qiita.com/k-holy/items/b8ca56d8026413dd1878>

タイムゾーンについては、EXIFの規格上では TimeZoneOffset というヘッダが用意されているようですが、実際にはあまり普及していないようです。

[22] 画像ファイルのEXIFタグから撮影日時と位置情報を取得する際のTips - Qiita () <http://qiita.com/k-holy/items/b8ca56d8026413dd1878>

大抵のJPEGファイルには、DateTime、DateTimeOriginal、DateTimeDigitizedの3つのタイムスタンプが埋め込まれていて、どれも同じ日時を指しています。写真が撮影された日時を示すのはDateTimeOriginalです。GIMPなどで写真を編集すると、DateTimeOriginalは保持してDateTimeが変更されます。

これらの日時情報にはタイムゾーン情報が無く、現地時間が保存されます。iPhoneやAndroid端末を持って国外へ行くと、現地でタイムゾーン情報を取得した以降に撮影した写真の日時は現地時間になります。東へ向かって旅行してタイムゾーンを跨ぐと、後に撮影した写真の日時が先の写真よりも前になるので注意が必要です。

[23] Galaxy Nexusの写真の撮影日時が世界時間 - docomo 解決済 | 教えて!goo () <http://oshiete.goo.ne.jp/qa/7411418.html>

[24] [新機能] 写真の地図配置 - matoyanさんの日記 - ヤマレコ () <http://www.yamareco.com/modules/diary/67-detail-25882>

自動配置の場合は、デジカメの撮影時刻とGPSの時刻を照らし合わせて

場所を特定します。

写真のファイルに埋めこまれているEXIFという情報を使っているので、

画像編集ソフトなどで縮小などの編集をされていてEXIFが欠落している写真は

自動配置できません。

写真を選んで地図をクリックすることで、手動でも配置できます。

[25] ヤマレコにおけるExif情報の使い方 - chusakaiさんの日記 - ヤマレコ () <http://www.yamareco.com/modules/diary/9108-detail-46937>

GPSの時刻に対する、写真の時刻:

※海外などの時差がある場所に行った場合や、カメラの時刻設定にズレがあるときに設定してください

修正幅は23時間59分59秒のプラスマイナス

(使い方の例は「カメラ時計がどうやら5分遅れてたみたい!」

前述の設定で-5分とすると考えてくれた!)のようなやり方です

[32] where does EXIF:TimeZoneOffset (0x882a) come from () <http://u88.n24.queensu.ca/exiftool/forum/index.php?topic=3323.0>

[33] EXIF Tags () <http://owl.phy.queensu.ca/~phil/exiftool/TagNames/EXIF.html>

0x882a TimeZoneOffset int16s[n] ExifIFD (1 or 2 values: 1. The time zone offset of DateTimeOriginal from GMT in hours, 2. If present, the time zone offset of ModifyDate)

[41] Image::ExifTool - search.cpan.org () <http://search.cpan.org/dist/Image-ExifTool/lib/Image/ExifTool.pod>

[43] Proposal for storing TimeZone information in image metadata (EXIF) - Ars Technica OpenForum () <http://arstechnica.com/civis/viewtopic.php?f=6&t=171966>

[44] How to change the timezone in photo metadata? |Adobe Community () <https://forums.adobe.com/thread/1562041>

As you discovered, the Edit Capture Time command does not let you change time zone, but it does preserve whatever time zones are present in the metadata  (but see below for one exception).   LR's handling of time zones conforms with Metadata Working Group's Guidelines For Handling Image Metadata 2.0, an industry standard supported by Adobe, Apple, Canon, Microsoft, Nokia, and Sony.

[45] 0000206: Non standard exif tag is used for timezoneoffset - MantisBT () <http://www.geosetter.de/mantis/view.php?id=206>