I have just noticed that the format of the datetimes displayed in the Image Information panels for my pictures is mm/dd/yyyy… which is not pleasant for a European.
Is this configurable in darktable, or in my camera, or is it something I just have to put up with?
I have dd/mm/yyyy, so European standard. I couldn’t find a setting in dt, and I think it’s a system setting (Locale settings, to be precise); many systems default to en-US, you might prefer en-UK
Thanks.
My locale settings all look right:
[colin@localhost ~]$ locale
LANG=en_GB.UTF-8
LC_CTYPE=“en_GB.UTF-8”
LC_NUMERIC=“en_GB.UTF-8”
LC_TIME=“en_GB.UTF-8”
LC_COLLATE=“en_GB.UTF-8”
LC_MONETARY=“en_GB.UTF-8”
LC_MESSAGES=“en_GB.UTF-8”
LC_PAPER=“en_GB.UTF-8”
LC_NAME=“en_GB.UTF-8”
LC_ADDRESS=“en_GB.UTF-8”
LC_TELEPHONE=“en_GB.UTF-8”
LC_MEASUREMENT=“en_GB.UTF-8”
LC_IDENTIFICATION=“en_GB.UTF-8”
LC_ALL=
Gnome settings likewise, and GNOME is displaying the current date and time as 6 Mar 11:42.
That’s why I thought it might be a dt thing. But I can’t find anything in the manual.
The dt manual mentions preferences in the presets menu under Image information, but I find that neither the menu nor the reset presets button are selectable (greyed out).
Forgot to add darktable version 3.4.1
You need to be careful which version of the user manual you’re looking at. The one on github is the user manual for the current development version (i.e. functionality that will be released in darktable 3.6). The one on darktable.org is for version 3.4.x.
Ah. Right. Must be a development feature.
Anyway, even less information in the 3.4.x manual.
I’ve also checked my camera manual, and the only datetime formatting information I can find is set for European format.
I don’t know for sure but I believe everything is just stored as a plain string in the photo metadata using a standard format.
Yes, the EXIF DateTimeOriginal tag is a string. @colin, check your camera settings… Edit: nevermind, see you already did that, two posts above…
Hm.
Exiftool shows:
Create Date : 2021:02:27 12:20:47.12
Date/Time Original : 2021:02:27 12:20:47.12
Modify Date : 2021:02:27 12:20:47.12
which is in the ISO order. So why doesn’t darktable show it like that?
and exiv2 shows:
Image timestamp : 2021:02:27 12:20:47
The format of the date is defined in the Exif spec as a 20 byte string. Exif 2.32 (published 2019) has additional tags for milliseconds and TZ information. In Exiv2, I avoid post-processing metadata. I report it “the way it is” and leave the application to decide how that should be presented to the user.
From the Exif 2.2 Spec: DateTime
The date and time of image creation. In this standard it is the date and time the file was changed. The format is “YYYY:MM:DD HH:MM:SS” with time shown in 24-hour format, and the date and time separated by one blank character [20.H]. When the date and time are unknown, all the character spaces except colons (":") may be filled with blank characters, or else the Interoperability field may be filled with blank characters. The character string length is 20 bytes including NULL for termination. When the field is left blank, it is treated as unknown.
Exif 2.32 added OffsetTime tags which are the delta between the camera and UTC. SubSec tags were also added.
1068 rmills@rmillsm1:~/Desktop $ taglist all | grep -e "Photo.*Time"
Photo.ExposureTime
Photo.DateTimeOriginal
Photo.DateTimeDigitized
Photo.OffsetTime
Photo.OffsetTimeOriginal
Photo.OffsetTimeDigitized
Photo.SubSecTime
Photo.SubSecTimeOriginal
Photo.SubSecTimeDigitized
Photo.SourceExposureTimesOfCompositeImage
1069 rmills@rmillsm1:~/Desktop $
Exiv2 v0.27.4 will ship on 2021-05-22 and has support for these tags. v0.27.4 RC1 will be released next week.
For the benefit of others, I managed to solve my problem (with some help from darktable developers) by changing /etc/locale.conf to read:
LANG=“en_GB.UTF-8”
LC_TIME=“en_GB.UTF-8”
Prior to my change, only the first line was present. This is a Fedora system.