My thinking was either you get to set the time via a dialog somewhere, or it's non-configurable and runs at midnight for dailies, 12:00:00.001 Sunday morning for weeklies, 12:00:00.001 on the first for monthlies, etc.
Another thing I take into account when I do dailies is what happens if the PLC is off at the designated time (typically midnight). It may be something you still want to run as soon as the PLC is up, so if it's one of those things, I track the date of last execution, and do the task on power up even if not at midnight. So, how (or if) to handle that issue is something you'd have to decide.