Digital images embed more metadata than most people imagine, and even when it comes to information about date and time alone, there’s plenty. This article shares some findings in a very common context: a photo taken with an iPhone.

Introduction

Different sets of image metadata — such as EXIF, IPTC, XMP, and others — coexist because they were developed to serve distinct purposes and address evolving needs in photography and digital asset management:

XMP coexists with EXIF and IPTC to ensure compatibility while providing modern capabilities and there are often overlaps in modern contexts.

Original photo

Let’s use a photo taken with an iPhone and exported “as original” to see what kind of date/time metadata it contains.

The output below is produced with the excellent exiftool — check it out here https://exiftool.org/ if you are not already familiar with it.

~ % exiftool -time:all IMG_9232.HEIC -G
[File]          File Modification Date/Time     : 2024:11:16 16:48:02+01:00
[File]          File Access Date/Time           : 2024:11:17 11:33:54+01:00
[File]          File Inode Change Date/Time     : 2024:11:17 11:13:40+01:00
[EXIF]          Modify Date                     : 2024:11:16 16:05:38
[EXIF]          Date/Time Original              : 2024:11:16 16:05:38
[EXIF]          Create Date                     : 2024:11:16 16:05:38
[EXIF]          Offset Time                     : +01:00
[EXIF]          Offset Time Original            : +01:00
[EXIF]          Offset Time Digitized           : +01:00
[EXIF]          Sub Sec Time Original           : 407
[EXIF]          Sub Sec Time Digitized          : 407
[EXIF]          GPS Time Stamp                  : 15:05:38
[EXIF]          GPS Date Stamp                  : 2024:11:16
[XMP]           Date Created                    : 2024:11:16 16:05:38
[ICC_Profile]   Profile Date Time               : 2022:01:01 00:00:00
[Composite]     Create Date                     : 2024:11:16 16:05:38.407+01:00
[Composite]     Date/Time Original              : 2024:11:16 16:05:38.407+01:00
[Composite]     Modify Date                     : 2024:11:16 16:05:38.407+01:00
[Composite]     GPS Date/Time                   : 2024:11:16 15:05:38Z

[File] tags come from the filesystem. They are not embedded in the image file per se. [EXIF] tags are normally set by the camera and reflect the following events:

Note that timezone information is stored in a separate tag for the first three items, while GPS time/date is in UTC.

The appearance of the [XMP] Date Created is rather surprising. XMP (Extensible Metadata Platform) is a more modern and flexible metadata standard, often used for editing, organizing, and tagging files. Tools like Adobe Lightroom or Photoshop often write XMP metadata during post-processing.

Now let’s look at the XMP sidecar (again I dropped irrelevant enties). EXIF Modify DateDate/Time Original and Create Date are not in here which makes sense I guess as the sidecar complements the embedded metadata.

<x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="XMP Core 6.0.0">
   <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
      <rdf:Description rdf:about=""
            xmlns:exif="http://ns.adobe.com/exif/1.0/"
            xmlns:photoshop="http://ns.adobe.com/photoshop/1.0/">
         <...>
         <exif:GPSTimeStamp>2024-11-16T15:05:38Z</exif:GPSTimeStamp>
         <photoshop:DateCreated>2024-11-16T16:05:38+01:00</photoshop:DateCreated>
      </rdf:Description>
   </rdf:RDF>
</x:xmpmeta>

But then why did they add <exif:GPSTimeStamp>? Bear in mind that <exif:GPSTimeStamp> is an XMP tag in the GPSTimeStamp in the exif namespace. And how actual EXIF is mapped and converted to XMP’s EXIF tags is a whole topic of its own (take a look here if this is of interest to you https://web.archive.org/web/20180921145139if_/http://www.cipa.jp:80/std/documents/e/DC-010-2017_E.pdf). So in this instance both GPS Time Stamp and GPS Date Stamp are mapped to <exif:GPSTimeStamp> which is in ISO 8601 format in UTC. Still with me?

Finally, why did <photoshop:DateCreated> appear? Per Adobe’s documentation it holds “The date the intellectual content of the document was created, rather than the creation date of the physical representation”. XMP dates use ISO 8601 format with timezone information. Including timezone is not a requirement for XMP tags but a recommendation.

OK, now let’s check out what Finder tells us:

Not sure which is which, so let’s check out the same photo but exported from Photos (not as original). Filesystem time/date is set to the moment the export took place. EXIF and XMP tags are unchanged which is the behaviour I would expect.

 % exiftool -time:all IMG_9232\ exported\ from\ Photos.heic -G
[File]          File Modification Date/Time     : 2024:11:17 11:09:23+01:00
[File]          File Access Date/Time           : 2024:11:17 12:51:08+01:00
[File]          File Inode Change Date/Time     : 2024:11:17 11:16:04+01:00
[EXIF]          Modify Date                     : 2024:11:16 16:05:38
[EXIF]          Date/Time Original              : 2024:11:16 16:05:38
[EXIF]          Create Date                     : 2024:11:16 16:05:38
[EXIF]          Offset Time                     : +01:00
[EXIF]          Offset Time Original            : +01:00
[EXIF]          Offset Time Digitized           : +01:00
[EXIF]          Sub Sec Time                    : 407
[EXIF]          Sub Sec Time Original           : 407
[EXIF]          Sub Sec Time Digitized          : 407
[EXIF]          GPS Time Stamp                  : 15:05:38
[EXIF]          GPS Date Stamp                  : 2024:11:16
[XMP]           Date Created                    : 2024:11:16 16:05:38+01:00
[ICC_Profile]   Profile Date Time               : 2022:01:01 00:00:00
[Composite]     Create Date                     : 2024:11:16 16:05:38.407+01:00
[Composite]     Date/Time Original              : 2024:11:16 16:05:38.407+01:00
[Composite]     Modify Date                     : 2024:11:16 16:05:38.407+01:00
[Composite]     GPS Date/Time                   : 2024:11:16 15:05:38Z

Now Finder shows the following:

So Modified and Last opened come from the filesystem, while Created andContent created from embedded metadata. Did you expect that?

Adjust time/date

Let’s explore some other possibilities, like what happens if I adjust date/time in Photos (Image -> Adjust Date and Time…). I’ll set time to 16:00:00 and leave the date unchanged and export it again.

OK, this is not groundbreaking but at least it keeps the Created and Content created in sync. Digging deeper, I realize that everything except GPS and ICC profile is synced.

 % exiftool -time:all -G IMG_9232\ \(time\ adj\ in\ Photos\).heic
[File]          File Modification Date/Time     : 2024:11:17 11:22:05+01:00
[File]          File Access Date/Time           : 2024:11:17 13:01:48+01:00
[File]          File Inode Change Date/Time     : 2024:11:17 11:22:54+01:00
[EXIF]          Modify Date                     : 2024:11:16 16:00:00
[EXIF]          Date/Time Original              : 2024:11:16 16:00:00
[EXIF]          Create Date                     : 2024:11:16 16:00:00
[EXIF]          Offset Time                     : +01:00
[EXIF]          Offset Time Original            : +01:00
[EXIF]          Offset Time Digitized           : +01:00
[EXIF]          Sub Sec Time                    : 407
[EXIF]          Sub Sec Time Original           : 407
[EXIF]          Sub Sec Time Digitized          : 407
[EXIF]          GPS Time Stamp                  : 15:05:38
[EXIF]          GPS Date Stamp                  : 2024:11:16
[XMP]           Date Created                    : 2024:11:16 16:00:00+01:00
[ICC_Profile]   Profile Date Time               : 2022:01:01 00:00:00
[Composite]     Create Date                     : 2024:11:16 16:00:00.407+01:00
[Composite]     Date/Time Original              : 2024:11:16 16:00:00.407+01:00
[Composite]     Modify Date                     : 2024:11:16 16:00:00.407+01:00
[Composite]     GPS Date/Time                   : 2024:11:16 15:05:38Z

As I am trying to wrap my mind around it, it looks like a very reasonable approch because:

Conclusion

There is a great amount of complexity behind this seemingly straightforward functionality. Most of it comes from multiple standards trying to coexist and — if everything goes as it should — providing redundancy and compatibility.

If you stick to the same software, most likely you will never experience any issues. Keep your camera’s clock adjusted.

Whenever you start sharing, exporting or migrating to different software a lot can happen, as the exact implementation of conversions at various levels may differ.

Leave a Reply

Your email address will not be published. Required fields are marked *