Just got into a bit of a thread on this, and Bill Kearney hilights one of the key issues, date math, and daylight savings.

The solution is simple, don’t work in local time. Local time feels important to us, but thats false, its a display issue, much like whether large numbers are punctuated by commas or periods. Do all your math in UTC, cast to the local timezone when appropiate. And stay the hell away from float time.