I’m looking to the code.
1) the image_date have yyyy-mm-dd hh:mm:ss format but the imported “created_timestamp” is set to get_option(‘date_format’) . ‘ ‘ . get_option(‘time_format’) by get_EXIF() in meta.php
So in a default wordpress installation the reported crated_timestamp has the time trunked without seconds. ex. this return me in Italian “18 febbraio 2015 2:09”
2) The string doesn’t get converted to a valid datetime and
$date = @strtotime($this->exif_array[‘created_timestamp’]);
fails. return false because of the localized i18n datetime string returned above.
Now that I think to have found the bug, please fix it in the next release ??
My problem were solved changing the code on get_EXIF() in meta.php FROM
if (!empty($exif[‘DateTimeDigitized’]))
$meta[‘created_timestamp’] = date_i18n(get_option(‘date_format’) . ‘ ‘ . get_option(‘time_format’), $this->exif_date2ts($exif[‘DateTimeDigitized’]));
else if (!empty($exif[‘DateTimeOriginal’]))
$meta[‘created_timestamp’] = date_i18n(get_option(‘date_format’) . ‘ ‘ . get_option(‘time_format’), $this->exif_date2ts($exif[‘DateTimeOriginal’]));
else if (!empty($exif[‘FileDateTime’]))
$meta[‘created_timestamp’] = date_i18n(get_option(‘date_format’) . ‘ ‘ . get_option(‘time_format’), $this->exif_date2ts($exif[‘FileDateTime’]));
TO
if (!empty($exif[‘DateTimeDigitized’]))
$meta[‘created_timestamp’] = $exif[‘DateTimeDigitized’];
else if (!empty($exif[‘DateTimeOriginal’]))
$meta[‘created_timestamp’] = $exif[‘DateTimeOriginal’];
else if (!empty($exif[‘FileDateTime’]))
$meta[‘created_timestamp’] = $exif[‘FileDateTime’];
P.S.
Looking further to the code, i’ve noticed that the right function to call may be C_NextGen_Metadata.get_date_time() in package.module.nextgen_data.php