1. A method performed by a computer having a memory and a processor for calculating a temporal weight for a search result, the method comprising: providing indications of user events, each user event having an event time period defined by an event start time, an event end time, and an event duration, each user event pertaining to an activity scheduled for the user by a calendaring application; providing a query; identifying web pages relating to the provided query, each web page corresponding to a search result; determining a current time; for each identified web page, identifying a user event corresponding to the identified web page, determining a start time for the identified user event, determining an end time for the identified user event, when the current time is before the determined start time, determining a temporal weight for the identified web page based at least in part on the difference between the current time and the determined start time, when the current time is between the determined start time and determined end time, determining a temporal weight for the identified web page based at least in part on the average of the determined start time and the determined end time wherein the temporal weight peaks at a time half way through the duration of the identified user event, and when the current time is after the determined end time, determining a temporal weight for the identified web page based at least in part on the difference between the current time and the determined end time; and ranking the identified web pages based at least in part on the determined temporal weights for the identified web pages wherein the providing, identifying, determining, and ranking are performed by the processor executing instructions stored in the memory.