|Posted: Wed, 2006-05-17 14:24|
It seems that when parsing the textual representation from the Exif header into a Unix timestamp, the server time zone is used. That is only correct if camera and server happen to use the same time zone, which is not very likely under travel and/or if your server is in a remote place.
When outputting the value, the server time zone is used as well. If that hasn't changed in between, the numerical values (hours, minutes, etc.) will actually come out the same, making the problem somewhat unobvious to the casual user, but the assumed time zone which is displayed when you use %Z in your format string will evidently lead you to a wrong interpretation of those numbers. Bottomline is that Gallery cannot meaningfully convey the exact time at which pictures were taken. While this is actually a limitation of the Exif header (which lacks time zone info), things are made worse by assuming a time zone which is most likely incorrect.
Either the time zone should be handled explicitly when parsing Exif data into a Unix datetime value or the string in the Exif header should be reproduced "as is" without refering to any time zone as that information is not present in the header. The former might be tricky: could be done by asking the user or by reading from a global or per-item setting. The latter probably means that a Unix datetime type cannot be used for storing the value.
Changing the server time zone in config.php (as an FAQ suggests) only works if all pictures in all albums of all users use that same time zone. It would also require access to the server machine.
First encountered this in version 1, but since my server administrator upgraded to version 2.1, I have found that it is still an issue. I hope that somebody can come up with meaningful feedback (I've been on version 2 for only a day now; I may have missed stuff) or that things might be fixed.