When is the locate database updated?
The locate database is updated by the following cronjob:

/private/etc/periodic/weekly/310.locate


On Most Mac systems, Cron has been replaced by launchd, and you'll find that /etc/crontab doesn't exist. The schedule for this scheduled job is determined by launchd, and can be seen with one of the following commands:

% cat /System/Library/LaunchDaemons/com.apple.periodic-weekly.plist
    #### SNIP
&lt;dict&gt;
    &lt;key&gt;Hour&lt;/key&gt;
    &lt;integer&gt;3&lt;/integer&gt;
    &lt;key&gt;Minute&lt;/key&gt;
    &lt;integer&gt;15&lt;/integer&gt;
    &lt;key&gt;Weekday&lt;/key&gt;
    &lt;integer&gt;6&lt;/integer&gt;
&lt;/dict&gt;


Or, something a little more user friendly:

% open /System/Library/LaunchDaemons/com.apple.periodic-weekly.plist


launchd will then run the jobs specified in /etc/periodic/{daily,weekly,monthly}/*, using this schedule.