I can't seem to find references to this anywhere (except here, a thread I also commented on). Has anyone noticed the bug where the Camera sets the DateTimeOriginal Exif tag to UTC time instead of localtime?
EXIF.DateTimeOriginal and EXIF.CreateDate do not contain room for a timezone. As such, they are supposed to be timestamped in local time. The Droidx sets the timestamp to UTC, which confuses things that care about the timestamp.
There are two possible fixes for this (both trivial...)
- Set EXIF.ModifyDate, EXIF.DateTimeOriginal, EXIF.CreateDate in localtime, as is the convention everywhere else for these tags.
- Do not set the above tags at all. Instead use the XMP family of tags (XMP.DateTimeOriginal and friends) which contain room for the timezone.
The former is both easier and correct, so that would be my preference.
If you'd like to see the bug, though there's not much to see, go here, download the original size, and use something like exiftool to examine the tags:
As you can see, the EXIF tags are all set to UTC (since they match GPSTimeStamp, which SHOULD be UTC). I am in -0700, so that represents a 7-hour error.Code:mike@hyperion:~> exiftool -G -s 5014190454_fdd2427338_o.jpg | grep '\(Time\|Date\)' [File] FileModifyDate : 2010:09:22 14:49:23-07:00 [EXIF] ModifyDate : 2010:09:22 06:37:11 [EXIF] ExposureTime : 1/17 [EXIF] DateTimeOriginal : 2010:09:22 06:37:11 [EXIF] CreateDate : 2010:09:22 06:37:11 [EXIF] GPSTimeStamp : 06:36:06 [EXIF] GPSDateStamp : 2010:09:22 [Composite] GPSDateTime : 2010:09:22 06:36:06Z