Comment
Comment by ryukoposting
Store everything as "number of (seconds|milliseconds|whatever) since $DATE" and the vast majority of those false assumptions can be avoided. Oh, and duration calculations become trivial. Unix had it right 50 years ago. Just make sure you use signed ints, because the past exists!