Aperture ImageDate Format

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

  1. 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)

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.

%d bloggers like this: