用語集

ファイルの更新日時とは何ですか?

更新日時(ファイルの変更日時)は、ファイルが最後に変更された時刻を記録する項目です。更新日時の値の見え方、何によって変わるのか、他の日付とどう違うのかを説明します。

file-modification-date-time

更新日時とは、更新日や更新時刻とも呼ばれ、ファイルが最後に変更された日時のことです。メタデータの一覧では、この項目は「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 (ID 0x0132) に、ファイルが変更された日時が保存されます。別のタグ OffsetTime には、タイムゾーンを保存できます。
  • PDF ファイルでは、文書情報に ModDate エントリが含まれます。
  • MP4 や MOV 動画では、ムービーヘッダーに ModifyDate が保存されており、UTC で保存されるべきとされています。

それが重要な理由

更新日時は、ファイルが最後に保存された時刻を示すもので、作成された時刻ではありません。写真が撮影された瞬間については、Date/Time Original を参照してください。ファイルが最初に作成された瞬間については、Create Date を参照してください。

この値の正確さは、ファイルを保存したコンピュータの時計の精度に依存します。また、プログラムは任意の時刻に設定できるため、本当にその時刻に変更されたことの証明にはなりません。

バックアップ用のプログラムは、この日時を使って変更されたファイルを特定できます。例えば Windows の Robocopy コマンドは、最終更新日時に基づいてファイルをスキップできます。

メタキー