Leaving this message in place as an example of how
thinking about time and calendar-related programming is
easy to mess up.
Indeed, time and calendar related programming is quite tricky, even specifying what the behavior should be can be tricky and very non-intuitive.