更新日時とは、更新日や更新時刻とも呼ばれ、ファイルが最後に変更された日時のことです。メタデータの一覧では、この項目は「File Modification Date/Time」として表示されます。ExifTool プログラムでは、このタグ名は FileModifyDate です。
この日時はファイルの内部には保存されません。ディスク上のファイルシステムが、ファイル名やファイルサイズなどと一緒に管理しています。ExifTool はこのような値を、ファイル内の本当のメタデータではないため、疑似タグ (pseudo tags) と呼びます。
どのファイルがそれを持っているか
ファイル形式に関係なく、すべてのファイルには更新日時があります。写真、音楽、動画、文書などは、いずれもファイルシステムによって更新日時が付与されます。
Windows のエクスプローラーでは「更新日時」として表示され、Windows プログラムでは「最終書き込み時刻」と呼ばれます。POSIX 規格に準拠したシステムでは「最終データ更新タイムスタンプ」と呼ばれます。
その値がどのように表示されるか
ExifTool では、年・月・日をコロンで区切り、その後に時刻とタイムゾーンのオフセットを続けて表示します。ExifTool のドキュメントでは、次の例が示されています。
2009:10:05 20:40:36-04:00は「2009年10月5日 20時40分36秒」を意味します。- 末尾の
-04:00は「UTC より 4 時間遅れている」という意味で、プラス記号は「UTC より進んでいる」ことを表します。
Windows では、NTFS ファイルシステムは日時を UTC で保存します。そのため、表示される時刻は使用しているコンピュータのタイムゾーンによって変わります。Microsoft の例では、太平洋時間で 15:00 に保存したファイルは、東部時間に設定されたコンピュータでは 18:00 と表示されます。
より古い FAT ファイルシステムは、代わりにローカル時刻を保存するため、同じファイルがどちらの場所でも 15:00 と表示されます。FAT では、更新時刻は 2 秒刻みで保存されます。
更新日時を変えるもの
プログラムがファイルに新しいデータを書き込むと、例えば文書を保存したときに、更新日時は現在時刻に変わります。写真のタグなど、新しいメタデータを書き込んだ場合も、更新日時は変更されます。ExifTool はタグを書き込むとき、この日付を現在時刻に設定しますが、-P オプションを使用した場合はその限りではありません。
ファイルを読み取っても、更新日時は変わりません。読み取りで変わるのは「最終アクセス日時」という別の値です。コピー用のプログラムの挙動はさまざまで、元の更新日時を保持するものもあれば、コピーに現在時刻を設定するものもあります。
この日時は自分で設定することもできます。POSIX の touch コマンドは、更新日時を現在時刻または指定した時刻に設定します。ExifTool では、写真が撮影された日時を更新日時にコピーすることができます。
ファイル内の更新日時
多くの形式では、ファイル内部にも更新日時が保存されています。これを更新できるのは、そのファイルを編集するアプリだけなので、ファイルシステム上の日時と異なる場合があります。例としては次のようなものがあります。
- JPG 写真では、EXIF タグ
ModifyDate(ID0x0132) に、ファイルが変更された日時が保存されます。別のタグOffsetTimeには、タイムゾーンを保存できます。 - PDF ファイルでは、文書情報に
ModDateエントリが含まれます。 - MP4 や MOV 動画では、ムービーヘッダーに ModifyDate が保存されており、UTC で保存されるべきとされています。
それが重要な理由
更新日時は、ファイルが最後に保存された時刻を示すもので、作成された時刻ではありません。写真が撮影された瞬間については、Date/Time Original を参照してください。ファイルが最初に作成された瞬間については、Create Date を参照してください。
この値の正確さは、ファイルを保存したコンピュータの時計の精度に依存します。また、プログラムは任意の時刻に設定できるため、本当にその時刻に変更されたことの証明にはなりません。
バックアップ用のプログラムは、この日時を使って変更されたファイルを特定できます。例えば Windows の Robocopy コマンドは、最終更新日時に基づいてファイルをスキップできます。