Can’t change timezone with ShiftTime

Started by kulath, May 25, 2025, 02:53:18 PM

Previous topic - Next topic

kulath

I have a Quicktime file that has a CreationDate that includes a timezone. I assume that the field is a string.

>exiftool  -time:all -a -G0:1 -s IMG_7388.MOV
[File:System]   FileModifyDate                  : 2025:05:25 16:59:47+01:00
[File:System]   FileAccessDate                  : 2025:05:25 19:06:38+01:00
[File:System]   FileInodeChangeDate             : 2025:05:25 16:59:47+01:00
[QuickTime]     CreateDate                      : 2025:03:07 02:52:37
[QuickTime]     ModifyDate                      : 2025:03:07 02:52:37
[QuickTime:Track1] TrackCreateDate              : 2025:03:07 02:52:37
[QuickTime:Track1] TrackModifyDate              : 2025:03:07 02:52:39
[QuickTime:Track1] MediaCreateDate              : 2025:03:07 02:52:37
[QuickTime:Track1] MediaModifyDate              : 2025:03:07 02:52:39
[QuickTime:Track2] TrackCreateDate              : 2025:03:07 02:52:37
[QuickTime:Track2] TrackModifyDate              : 2025:03:07 02:52:39
[QuickTime:Track2] MediaCreateDate              : 2025:03:07 02:52:37
[QuickTime:Track2] MediaModifyDate              : 2025:03:07 02:52:39
[QuickTime:Track3] TrackCreateDate              : 2025:03:07 02:52:37
[QuickTime:Track3] TrackModifyDate              : 2025:03:07 02:52:39
[QuickTime:Track3] MediaCreateDate              : 2025:03:07 02:52:37
[QuickTime:Track3] MediaModifyDate              : 2025:03:07 02:52:39
[QuickTime:Track4] TrackCreateDate              : 2025:03:07 02:52:37
[QuickTime:Track4] TrackModifyDate              : 2025:03:07 02:52:39
[QuickTime:Track4] MediaCreateDate              : 2025:03:07 02:52:37
[QuickTime:Track4] MediaModifyDate              : 2025:03:07 02:52:39
[QuickTime:Track5] TrackCreateDate              : 2025:03:07 02:52:37
[QuickTime:Track5] TrackModifyDate              : 2025:03:07 02:52:39
[QuickTime:Track5] MediaCreateDate              : 2025:03:07 02:52:37
[QuickTime:Track5] MediaModifyDate              : 2025:03:07 02:52:39
[QuickTime]     CreationDate                    : 2025:03:07 08:22:37+05:30
[XMP:XMP-pdf]   CreationDate                    : 2025:03:07 08:22:37+05:30
[XMP:XMP-xmp]   CreateDate                      : 2025:03:07 08:22:37+05:30
[XMP:XMP-xmp]   ModifyDate                      : 2025:03:07 08:22:37+05:30

I want to change the timezone for Quicktime:CreationDate to +00:00


I have tried

>exiftool -a -time:all -G0:1 -p '${Quicktime:CreationDate;ShiftTime("0 0 -5:30")}' IMG_7388.MOV
2025:03:07 08:22:37+05:30
Warning: Use of uninitialized value $shift in substitution (s///) for CreationDate (1) - IMG_7388.MOV
also

>exiftool -a -time:all -G0:1 -p '${Quicktime:CreationDate;ShiftTime("-5:30")}' IMG_7388.MOV
2025:03:07 08:22:37+05:30
Warning: Use of uninitialized value $shift in concatenation (.) or string for CreationDate (1) - IMG_7388.MOV


Help please, what am I doing wrong?



(I am using Mac OSX 10.11.6 El Capitan and exiftool 10.40)

Phil Harvey

Version 10.40 is more than 8 years old.  You will have more success with a current version.

- phil
...where DIR is the name of a directory/folder containing the images.  On Mac/Linux/PowerShell, use single quotes (') instead of double quotes (") around arguments containing a dollar sign ($).

kulath

Thanks very much for the quick reply, sorry about using an old version. I have downloaded 13.30
$ exiftool -ver
13.30

This gives a slightly different analysis of the metadata (Quicktime:CreationDate now has a specific location of Keys which was not present with the very old version of exiftool):
$ exiftool  -time:all -n -a -G0:1 -s IMG_7388.MOV
[File:System]   FileModifyDate                  : 2025:05:25 16:59:47+01:00
[File:System]   FileAccessDate                  : 2025:05:26 16:24:59+01:00
[File:System]   FileInodeChangeDate             : 2025:05:25 18:28:44+01:00
[QuickTime]     CreateDate                      : 2025:03:07 02:52:37
[QuickTime]     ModifyDate                      : 2025:03:07 02:52:37
[QuickTime:Track1] TrackCreateDate              : 2025:03:07 02:52:37
[QuickTime:Track1] TrackModifyDate              : 2025:03:07 02:52:39
[QuickTime:Track1] MediaCreateDate              : 2025:03:07 02:52:37
[QuickTime:Track1] MediaModifyDate              : 2025:03:07 02:52:39
[QuickTime:Track2] TrackCreateDate              : 2025:03:07 02:52:37
[QuickTime:Track2] TrackModifyDate              : 2025:03:07 02:52:39
[QuickTime:Track2] MediaCreateDate              : 2025:03:07 02:52:37
[QuickTime:Track2] MediaModifyDate              : 2025:03:07 02:52:39
[QuickTime:Track3] TrackCreateDate              : 2025:03:07 02:52:37
[QuickTime:Track3] TrackModifyDate              : 2025:03:07 02:52:39
[QuickTime:Track3] MediaCreateDate              : 2025:03:07 02:52:37
[QuickTime:Track3] MediaModifyDate              : 2025:03:07 02:52:39
[QuickTime:Track4] TrackCreateDate              : 2025:03:07 02:52:37
[QuickTime:Track4] TrackModifyDate              : 2025:03:07 02:52:39
[QuickTime:Track4] MediaCreateDate              : 2025:03:07 02:52:37
[QuickTime:Track4] MediaModifyDate              : 2025:03:07 02:52:39
[QuickTime:Track5] TrackCreateDate              : 2025:03:07 02:52:37
[QuickTime:Track5] TrackModifyDate              : 2025:03:07 02:52:39
[QuickTime:Track5] MediaCreateDate              : 2025:03:07 02:52:37
[QuickTime:Track5] MediaModifyDate              : 2025:03:07 02:52:39
[QuickTime:Keys] CreationDate                   : 2025:03:07 08:22:37+05:30
[XMP:XMP-pdf]   CreationDate                    : 2025:03:07 08:22:37+05:30
[XMP:XMP-xmp]   CreateDate                      : 2025:03:07 08:22:37+05:30
[XMP:XMP-xmp]   ModifyDate                      : 2025:03:07 08:22:37+05:30

I updated the QuickTime:CreationDate after I realised that I was just printing the result instead of changing the file, with:

$ exiftool -a  -G0:1  '-Quicktime:CreationDate<${Quicktime:CreationDate;ShiftTime("0 0 -5:30")}' IMG_7388.MOV
Warning: [minor] The ExtractEmbedded option may find more tags in the media data - IMG_7388.MOV
    1 image files updated

Thanks very much, case closed.