SOLUTION: JS Script zur Umbenennung von Bildern nach Aufnahmedatum (CreateDate) und Normalisierung des Datums auf UTC+0

Advanced Renamer forum
#1 : 21/10-22 16:00
Daniel Gruner
Posts: 5
Hallo, ich hoffe, das Folgende hilft. :)

Das Skript nimmt das "CreateDate" aus den Exif-Daten, sucht eine Zeitverschiebung (Time Offset) und normalisiert das Offset auf UTC+0. Ich habe erkannt, dass .mov aus einem Google Fotos-Export UTC+0 war und .heic UTC+2 war. Dieses Offset machte meine Umbenennung unbrauchbar. Deshalb habe ich dieses Skript entwickelt, um die Datums zu normalisieren.

var fileName = item.name;
var createDate = item.exifToolValue("CreateDate");
var offsetTime = item.exifToolValue("OffsetTime");
// var fileName = "IMG_0362.HEIC";
// var createDate = "2022:05:20 17:39:09";
// var offsetTime = "+02:00"

// ISO date: 2009-06-30T18:30:00+02:00

if(!createDate){
return fileName
}

var createDateDate = createDate.split(' ')[0].replace(/:/gm, '-');
var createDateTime = createDate.split(' ')[1];

if(!offsetTime){
offsetTime = "+00:00"
}

// returns 2022-05-22T17:39:09+02:00
var myNewDateString = createDateDate + "T" + createDateTime + offsetTime;

// returns 2022-05-22T15:39:09.000Z (normalized to UTC+0)
var myNormalizedDate = new Date(myNewDateString).toISOString();

// returns 2022-05-22T15:39:09
var finalDateString = myNormalizedDate.split('.')[0].replace(/:/gm, '-')

return finalDateString + ".0Z_" + fileName