I still contend that time is one of the most difficult thing to program for/around. Once, I was building a billing system for a company, & they spent WEEKS trying to decide how they wanted the system to handle a recurring monthly bill for someone whose subscription began on the 31st of the month! They didn't like my suggestions, but their solutions always had edge cases that wouldn't work at some point in the year. It's been long ago, so I don't remember their final solution. In other projects, calendars and scheduling are a complete nightmare!<p><a href="http://infiniteundo.com/post/25326999628/falsehoods-programmers-believe-about-time" rel="nofollow">http://infiniteundo.com/post/25326999628/falsehoods-programm...</a><p><a href="http://infiniteundo.com/post/25509354022/more-falsehoods-programmers-believe-about-time" rel="nofollow">http://infiniteundo.com/post/25509354022/more-falsehoods-pro...</a>