I have it set to defrag after 24 hours, but it defrags every time the screensaver starts.
The screensaver will only skip if the last fully completed run was more than NN hours ago. If the last run was not fully completed, or if the last run was more than NN hours ago, then defragmentation will start. Also, the time is reset every time you look at the screensaver settings.