Bug #484

exiv2 -T adjusts file timestamp wrongly

Added by Andreas Huggel about 15 years ago. Updated almost 13 years ago.

Target version:
Start date:
Due date:
% Done:


Estimated time:


On Tuesday 05 September 2006 23:12, Dave Locke wrote:

This program looks like exactly what I was looking for. Turns out, I did
not reset my camera time to local time when I was touring Asia. I see
that I can add time to the original timestamp. I am also trying to set
the file timestamp to the same time. As I understand,

exiv2 -a9 ad dsc0889.jpg will add 9 hours to the original timestamp,
eg 6/9/2006 09:11 becomes 6/9/2006 18:11
exiv2 -T mn dsc0899.jpg will set file time stamp from the "new"
original timestamp, to 6/9/2006 18:11

Unfortunately, there seems to be a bug (or I don't get how to use it,
which is entirely possible). The -T run does not set the file timestamp
properly. When I run in -v mode, it shows it is updating correct. When
the file timestamp is read by my picture organizer software, it is not
the 6/9/2006 18:11 but is 6 hours earlier 6/9/2006 13:11

Any help you can give would be greatly appreciated.


Related issues

Related to Exiv2 - Bug #514: Linking with libexiv2 masks system localtime, and on MinGW, that of libexiv2 doesn't handle DST correctlyClosed




Updated by Andreas Huggel about 15 years ago

I can reproduce this on Windows


Updated by Andreas Huggel about 15 years ago

The problem occurs only in Windows; the mktime() system call doesn't take timezone settings from the Control Panel into account.

Workaround: Set the TZ environment variable. Note that the format of TZ is confusing. E.g., here in Malaysia, I set TZ=MYT-8, where MYT is a string to identify the timezone (but it doesn't matter what it is) and -8 because if I add -8 to local Malaysian time I get GMT.

Also available in: Atom PDF