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}; result.ifd0 = {...exif.Image};
// Convert Date objects to ISO strings for consistency with exifr // Convert Date objects to ISO strings for consistency with exifr
if (result.ifd0.DateTime instanceof Date) { 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) // Map Photo tags to exif (this is where exifr puts EXIF data)
if (exif.Photo) { if (exif.Photo) {
result.exif = {...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) { 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) { 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", "make": "Apple",
"model": "iPhone 16 Pro Max" "model": "iPhone 16 Pro Max"
}, },
"creationDate": 1757327744000, "creationDate": 1735831555000,
"creationDateOffset": "-05:00",
"fileSize": 3946347, "fileSize": 3946347,
"positionData": { "positionData": {
"GPSData": { "GPSData": {