1
0
mirror of https://github.com/bpatrik/pigallery2.git synced 2025-11-25 22:32:52 +02:00

Fix creation date reading for heic files. #965

This commit is contained in:
Patrik J. Braun
2025-10-21 20:45:37 +02:00
parent 5a0914d03d
commit 89bf9929e4
2 changed files with 11 additions and 5 deletions

View File

@@ -641,19 +641,24 @@ export class MetadataLoader {
result.ifd0 = {...exif.Image};
// Convert Date objects to ISO strings for consistency with exifr
if (result.ifd0.DateTime instanceof Date) {
result.ifd0.DateTime = result.ifd0.DateTime.toISOString();
// Remove the 'Z' suffix and format as YYYY-MM-DD HH:MM:SS
const isoString = result.ifd0.DateTime.toISOString();
result.ifd0.DateTime = isoString.substring(0, 10) + ' ' + isoString.substring(11, 19);
}
}
// Map Photo tags to exif (this is where exifr puts EXIF data)
if (exif.Photo) {
result.exif = {...exif.Photo};
// Convert Date objects to ISO strings
// Convert Date objects to ISO strings without 'Z' suffix, format as YYYY-MM-DD HH:MM:SS
// The offset will be added from OffsetTimeOriginal/OffsetTimeDigitized by mapTimestampAndOffset
if (result.exif.DateTimeOriginal instanceof Date) {
result.exif.DateTimeOriginal = result.exif.DateTimeOriginal.toISOString();
const isoString = result.exif.DateTimeOriginal.toISOString();
result.exif.DateTimeOriginal = isoString.substring(0, 10) + ' ' + isoString.substring(11, 19);
}
if (result.exif.DateTimeDigitized instanceof Date) {
result.exif.DateTimeDigitized = result.exif.DateTimeDigitized.toISOString();
const isoString = result.exif.DateTimeDigitized.toISOString();
result.exif.DateTimeDigitized = isoString.substring(0, 10) + ' ' + isoString.substring(11, 19);
}
}

View File

@@ -7,7 +7,8 @@
"make": "Apple",
"model": "iPhone 16 Pro Max"
},
"creationDate": 1757327744000,
"creationDate": 1735831555000,
"creationDateOffset": "-05:00",
"fileSize": 3946347,
"positionData": {
"GPSData": {