<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.kde.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.6"
          urlbase="https://bugs.kde.org/"
          
          maintainer="sysadmin@kde.org"
>

    <bug>
          <bug_id>517889</bug_id>
          
          <creation_ts>2026-03-20 11:26:40 +0000</creation_ts>
          <short_desc>XMP sidecar CreateDate written without timezone offset, causing apps such as Immich to assume UTC and display incorrect times</short_desc>
          <delta_ts>2026-04-19 06:41:22 +0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>2</classification_id>
          <classification>Applications</classification>
          <product>digikam</product>
          <component>Metadata-Date</component>
          <version>9.0.0</version>
          <rep_platform>Microsoft Windows</rep_platform>
          <op_sys>Microsoft Windows</op_sys>
          <bug_status>UNCONFIRMED</bug_status>
          <resolution></resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>NOR</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Stephen Hilton">stephen.j.hilton</reporter>
          <assigned_to name="Digikam Developers">digikam-bugs-null</assigned_to>
          <cc>metzpinguin</cc>
          
          <cf_commitlink></cf_commitlink>
          <cf_versionfixedin></cf_versionfixedin>
          <cf_sentryurl></cf_sentryurl>
          <votes>0</votes>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>2504928</commentid>
    <comment_count>0</comment_count>
      <attachid>190844</attachid>
    <who name="Stephen Hilton">stephen.j.hilton</who>
    <bug_when>2026-03-20 11:26:40 +0000</bug_when>
    <thetext>Created attachment 190844
Fill XMP file for example

SUMMARY
XMP sidecar CreateDate written without timezone offset, causing apps such as Immich to assume UTC and display incorrect times

DESCRIPTION
When digiKam writes date metadata to XMP sidecar files, date fields such as xmp:CreateDate are written without a timezone offset. For example, a photo taken at 3:00pm AEST (UTC+10:00) will be written as:
2026-03-20T15:00:00
rather than the correct:
2026-03-20T15:00:00+10:00
Any application that reads only the XMP sidecar (rather than the embedded EXIF data inside the image file) has no timezone context and will typically assume the naive timestamp represents UTC. Immich is a prominent example of such an application — when it ingests XMP sidecar files, it reads the date value as-is and treats it as UTC, causing photos to appear as if they were taken 10 hours earlier (for a UTC+10 user). This results in photos being sorted and displayed at the wrong time, and potentially on the wrong date.  Where the is a mix of photos with no sidecar and with sidecar, some will show the correct date/time and some the incorrect date/time.
The XMP specification fully supports ISO 8601 date/time values with timezone offsets. The EXIF data embedded in the image itself typically does carry the correct offset (via EXIF:OffsetTimeOriginal), but this information is not being propagated into the XMP sidecar when digiKam writes it.
The fix would be to include the UTC offset from the source EXIF data when writing date fields to XMP sidecars.

STEPS TO REPRODUCE
1. Import an image taken in a non-UTC timezone where the EXIF data contains a timezone offset (e.g. EXIF:OffsetTimeOriginal = +10:00)
2. Configure digiKam to write metadata to XMP sidecar files
3. After digiKam writes the sidecar, open the .xmp file in a text editor
4. Inspect the xmp:CreateDate (and related date) fields

OBSERVED RESULT
Date fields are written without a timezone offset, e.g.:
2026-03-20T15:00:00

Any application that reads only the XMP sidecar and assumes naive timestamps are UTC will display the time incorrectly — for example, Immich will show the photo as having been taken at 05:00am UTC rather than 03:00pm local time.

EXPECTED RESULT
Date fields in the XMP sidecar include the UTC offset sourced from EXIF, e.g.:
2026-03-20T15:00:00+10:00

SOFTWARE/OS VERSIONS
Windows: 11 25H2 Build 26200.8037
Digikam 9.0.0

ADDITIONAL INFORMATION

Example EXIF data from a Nikon NEF:
exiftool -OffsetTimeOriginal -OffsetTime -OffsetTimeDigitized -DateTimeOriginal -CreateDate -ModifyDate 20260308_112047.NEF
Offset Time Original            : +11:00
Offset Time                     : +11:00
Offset Time Digitized           : +11:00
Date/Time Original              : 2026:03:08 11:20:47
Create Date                     : 2026:03:08 11:20:47
Modify Date                     : 2026:03:08 11:20:47

Example metadata from the corresponding xmp file written by Digikam
   xmp:ModifyDate=&quot;2026-03-08T11:20:47.04&quot;
   xmp:CreateDate=&quot;2026-03-08T11:20:47.04&quot;
   photoshop:DateCreated=&quot;2026-03-08T11:20:47.04&quot;&gt;

RELATED BUGS
Bug 485836 — Feature request to edit timezone offset fields in the Time &amp; Date Editor
Bug 495506 — Preserve timezone offset timestamp in metadata
Bug 510261 — Video dates incorrect because timezone is not considered (developer Maik Qualmann acknowledged timezone offset support needs to be added)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2504936</commentid>
    <comment_count>1</comment_count>
    <who name="Maik Qualmann">metzpinguin</who>
    <bug_when>2026-03-20 12:21:01 +0000</bug_when>
    <thetext>Why open another bug report when we already have three? Adding timezone support is extensive, involving database changes, image scanner code, date metadata, etc.

Maik</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2510788</commentid>
    <comment_count>2</comment_count>
    <who name="Maik Qualmann">metzpinguin</who>
    <bug_when>2026-04-19 06:41:22 +0000</bug_when>
    <thetext>Git commit ad5bb7d1da29dc6d90e4961d53afe79bbfa429b3 by Maik Qualmann.
Committed on 19/04/2026 at 06:40.
Pushed by mqualmann into branch &apos;master&apos;.

prepare database update to add ImageTagProperties index and a timezone field
Related: bug 519125, bug 514970, bug 510261, bug 495506, bug 491608, bug 485836, bug 251357

M  +46   -1    core/data/database/dbconfig.xml.cmake.in
M  +8    -0    core/libs/database/coredb/coredbschemaupdater.cpp

https://invent.kde.org/graphics/digikam/-/commit/ad5bb7d1da29dc6d90e4961d53afe79bbfa429b3</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>190844</attachid>
            <date>2026-03-20 11:26:40 +0000</date>
            <delta_ts>2026-03-20 11:26:40 +0000</delta_ts>
            <desc>Fill XMP file for example</desc>
            <filename>20260308_112047.xmp</filename>
            <type>application/octet-stream</type>
            <size>2968</size>
            <attacher name="Stephen Hilton">stephen.j.hilton</attacher>
            
              <data encoding="base64">PD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6
eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iWE1QIENvcmUgNC40LjAt
RXhpdjIiPgogPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIy
LXJkZi1zeW50YXgtbnMjIj4KICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgeG1s
bnM6Y3JkPSJodHRwOi8vbnMuYWRvYmUuY29tL2NhbWVyYS1yYXctZGVmYXVsdHMvMS4wLyIKICAg
IHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIKICAgIHhtbG5zOmV4aWY9
Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIgogICAgeG1sbnM6dGlmZj0iaHR0cDovL25z
LmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICB4bWxuczpwaG90b3Nob3A9Imh0dHA6Ly9ucy5hZG9i
ZS5jb20vcGhvdG9zaG9wLzEuMC8iCiAgICB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2Vs
ZW1lbnRzLzEuMS8iCiAgIGNyZDpDYW1lcmFQcm9maWxlPSJDYW1lcmEgTmV1dHJhbCIKICAgY3Jk
OkNvbG9yTm9pc2VSZWR1Y3Rpb249IjEwIgogICBjcmQ6Q29sb3JOb2lzZVJlZHVjdGlvbkRldGFp
bD0iNTAiCiAgIGNyZDpDb2xvck5vaXNlUmVkdWN0aW9uU21vb3RobmVzcz0iNTAiCiAgIGNyZDpD
b250cmFzdDIwMTI9IjAiCiAgIGNyZDpFeHBvc3VyZTIwMTI9IjAuMDAiCiAgIGNyZDpIaWdobGln
aHRzMjAxMj0iLTciCiAgIGNyZDpMdW1pbmFuY2VOb2lzZVJlZHVjdGlvbkNvbnRyYXN0PSIwIgog
ICBjcmQ6THVtaW5hbmNlTm9pc2VSZWR1Y3Rpb25EZXRhaWw9Ijc1IgogICBjcmQ6THVtaW5hbmNl
U21vb3RoaW5nPSIzNyIKICAgY3JkOlNhdHVyYXRpb249IjAiCiAgIGNyZDpTaGFkb3dzMjAxMj0i
MTAiCiAgIGNyZDpTaGFycGVuRGV0YWlsPSIyNSIKICAgY3JkOlNoYXJwZW5FZGdlTWFza2luZz0i
MCIKICAgY3JkOlNoYXJwZW5SYWRpdXM9IjIuMDAiCiAgIGNyZDpTaGFycG5lc3M9IjI0IgogICB4
bXA6Q3JlYXRvclRvb2w9Ik5JS09OIFogNiBWZXIuMDMuODAgICAgICIKICAgeG1wOlJhdGluZz0i
MCIKICAgeG1wOk1vZGlmeURhdGU9IjIwMjYtMDMtMDhUMTE6MjA6NDcuMDQiCiAgIHhtcDpDcmVh
dGVEYXRlPSIyMDI2LTAzLTA4VDExOjIwOjQ3LjA0IgogICBleGlmOkV4aWZWZXJzaW9uPSIwMjMy
IgogICBleGlmOkNvbG9yU3BhY2U9IjY1NTM1IgogICBleGlmOkV4cG9zdXJlVGltZT0iMS8xNjAw
IgogICBleGlmOkZOdW1iZXI9IjI4LzUiCiAgIGV4aWY6RXhwb3N1cmVQcm9ncmFtPSI0IgogICBl
eGlmOkV4cG9zdXJlQmlhc1ZhbHVlPSItMS8zIgogICBleGlmOk1ldGVyaW5nTW9kZT0iNSIKICAg
ZXhpZjpMaWdodFNvdXJjZT0iMCIKICAgZXhpZjpGb2NhbExlbmd0aD0iMzAwLzEiCiAgIGV4aWY6
U2Vuc2luZ01ldGhvZD0iMiIKICAgZXhpZjpGaWxlU291cmNlPSIzIgogICBleGlmOlNjZW5lVHlw
ZT0iMSIKICAgZXhpZjpDRkFQYXR0ZXJuPSIyIDAgMiAwIDAgMSAxIDIiCiAgIGV4aWY6Q3VzdG9t
UmVuZGVyZWQ9IjEiCiAgIGV4aWY6RXhwb3N1cmVNb2RlPSIwIgogICBleGlmOldoaXRlQmFsYW5j
ZT0iMCIKICAgZXhpZjpGb2NhbExlbmd0aEluMzVtbUZpbG09IjMwMCIKICAgZXhpZjpTY2VuZUNh
cHR1cmVUeXBlPSIwIgogICBleGlmOkdhaW5Db250cm9sPSIxIgogICBleGlmOkNvbnRyYXN0PSIw
IgogICBleGlmOlNhdHVyYXRpb249IjAiCiAgIGV4aWY6U2hhcnBuZXNzPSIwIgogICBleGlmOlN1
YmplY3REaXN0YW5jZVJhbmdlPSIwIgogICBleGlmOkdQU1ZlcnNpb25JRD0iMi4zLjAuMCIKICAg
dGlmZjpPcmllbnRhdGlvbj0iMSIKICAgdGlmZjpZQ2JDclBvc2l0aW9uaW5nPSIxIgogICB0aWZm
OlhSZXNvbHV0aW9uPSIzMDAvMSIKICAgdGlmZjpZUmVzb2x1dGlvbj0iMzAwLzEiCiAgIHRpZmY6
UmVzb2x1dGlvblVuaXQ9IjIiCiAgIHRpZmY6TWFrZT0iTklLT04gQ09SUE9SQVRJT04iCiAgIHRp
ZmY6TW9kZWw9Ik5JS09OIFogNiIKICAgdGlmZjpTb2Z0d2FyZT0iVmVyLjAzLjgwIgogICBwaG90
b3Nob3A6RGF0ZUNyZWF0ZWQ9IjIwMjYtMDMtMDhUMTE6MjA6NDcuMDQiPgogICA8ZXhpZjpGbGFz
aAogICAgZXhpZjpGaXJlZD0iRmFsc2UiCiAgICBleGlmOlJldHVybj0iMCIKICAgIGV4aWY6TW9k
ZT0iMCIKICAgIGV4aWY6RnVuY3Rpb249IkZhbHNlIgogICAgZXhpZjpSZWRFeWVNb2RlPSJGYWxz
ZSIvPgogICA8ZXhpZjpDb21wb25lbnRzQ29uZmlndXJhdGlvbj4KICAgIDxyZGY6U2VxPgogICAg
IDxyZGY6bGk+MTwvcmRmOmxpPgogICAgIDxyZGY6bGk+MjwvcmRmOmxpPgogICAgIDxyZGY6bGk+
MzwvcmRmOmxpPgogICAgIDxyZGY6bGk+MDwvcmRmOmxpPgogICAgPC9yZGY6U2VxPgogICA8L2V4
aWY6Q29tcG9uZW50c0NvbmZpZ3VyYXRpb24+CiAgIDxleGlmOklTT1NwZWVkUmF0aW5ncz4KICAg
IDxyZGY6U2VxPgogICAgIDxyZGY6bGk+MTQwMDwvcmRmOmxpPgogICAgPC9yZGY6U2VxPgogICA8
L2V4aWY6SVNPU3BlZWRSYXRpbmdzPgogICA8dGlmZjpSZWZlcmVuY2VCbGFja1doaXRlPgogICAg
PHJkZjpTZXE+CiAgICAgPHJkZjpsaT4wLzEgMjU1LzEgMC8xIDI1NS8xIDAvMSAyNTUvMTwvcmRm
OmxpPgogICAgPC9yZGY6U2VxPgogICA8L3RpZmY6UmVmZXJlbmNlQmxhY2tXaGl0ZT4KICAgPGRj
OmNyZWF0b3I+CiAgICA8cmRmOlNlcT4KICAgICA8cmRmOmxpPlN0ZXBoZW4gSGlsdG9uPC9yZGY6
bGk+CiAgICA8L3JkZjpTZXE+CiAgIDwvZGM6Y3JlYXRvcj4KICAgPGRjOnJpZ2h0cz4KICAgIDxy
ZGY6QWx0PgogICAgIDxyZGY6bGkgeG1sOmxhbmc9IngtZGVmYXVsdCI+KGMpMjAyNSBBbGwgUmln
aHRzIFJlc2VydmVkPC9yZGY6bGk+CiAgICA8L3JkZjpBbHQ+CiAgIDwvZGM6cmlnaHRzPgogIDwv
cmRmOkRlc2NyaXB0aW9uPgogPC9yZGY6UkRGPgo8L3g6eG1wbWV0YT4KPD94cGFja2V0IGVuZD0i
dyI/Pg==
</data>

          </attachment>
      

    </bug>

</bugzilla>