GNU Emacs Lisp Reference Manual
You can set up a timer to call a function at a specified future time.
Absolute times may be specified in a wide variety of formats; The form `hour:min:sec timezone month/day/year', where all fields are numbers, works; the format that current-time-string returns is also allowed.
To specify a relative time, use numbers followed by units. For example:
1 min'1 min 5 sec'1 min 2 sec 3 hour 4 day 5 week 6 fortnight 7 month 8 year'If time is an integer, that specifies a relative time measured in seconds.
The argument repeat specifies how often to repeat the call. If repeat is nil, there are no repetitions; function is called just once, at time. If repeat is an integer, it specifies a repetition period measured in seconds. In any case, repeat has no effect on when first call takes place---time specifies that.
The function run-at-time returns a timer value that identifies the particular scheduled future action. You can use this value to call cancel-timer.
run-at-time. This cancels the effect of that call to run-at-time; the arrival of the specified time will not cause anything special to happen.