My investigations of Aperture’s internals continue with a question from John:
Thereâ€™s no way in Aperture to change the image date value Aperture stores in its database. We know it doesnâ€™t have to be the same as the embedded image metadata value because if you import from iPhoto Aperture stores iPhotoâ€™s user defined date value.
Is there a Scriptable API for changing the value of the Aperture database date value?
Here’s what I have found. In the Aperture database table
zrkversion, there are numerous timestamp fields:
The one we’re looking for is
ZIMAGEDATE. The value looks to be in NSDate format. I wrote the following AppleScript to convert the value into a more useable AppleScript date object:
set theDate to call method "dateWithTimeIntervalSinceReferenceDate:"Â¬ of class "NSDate" with parameter (theTimestamp as real)
There’s no AppleScript API in Aperture’s dictionary to access this data, so you’ll need to go directly into the SQLite3 database of Aperture if you want to edit the image date of selected images. Perhaps I’ll write an application that helps people edit the image date!
Email me if you have any suggestions. In the meantime, I will be poking around the Apple Discussion Forums for more details on what people want.
1 thought on “Aperture ImageDate Format”
Thanks Adam, that’s fascinating. I have more in my own blog:
I think there are two types of date changes:
1. Correct camera date errors or tweak dates to get a desired sort-by-date order.
2. Managing scans. In this case there may be hundreds of files where the date needs to be set.
A widget/tool to edit this date field would ideally allow on to select many images and apply a date to them with a specified interval. iPhoto 6’s date editing tools are really not a bad example.
If you wrote such an app, I might be able to buy Aperture (and your app too of course)