If the signal was fired slightly before the scheduled time, it would schedule itself again a couple ms in the future.
The difference between 23:59 and 00:00 is -23:59, not 00:01.