2009/2/24 Abigail <abig...@abigail.be>: > On Sat, Feb 21, 2009 at 04:00:28PM -0600, Craig A. Berry wrote: >> >> That's better than failing in 2038, but if you were doing calculations >> for a 99-year lease you'd already be in trouble today. > > That's a doubtful statement. Leases typically have an end *date*, not > an end *second*.
Hmm, id have thought that typically leases have a start date and a duration, or a start date and an exclusive end date. (IOW they start on a day and go for N months(1), or they start on a date and specify the first date that is not included in the lease). Im very doubtful that its common to specify an end *date*. <rant> That is because, IMO, lawyers, through hard bitten collective professional experience, have a clue about how to represent date ranges, unlike in my experience 99% of the computer programmers out there. Programmers seem to do [$from,to] intervals, and when they get near a database they tend to use NULL for "open end dates". Which is about the worst possible date range representation I can imagine without deliberately dreaming up something totally insane(2) Using a "far fetched" date to represent open intervals, and using half-open intervals like [$from,$to) or ($from,$to] is far far preferable, with start/duration being the second choice. </rant> Hmm, actually i guess this should have been a hate-software post. Or maybe a hates-software-developers post. :-) Cheers yves (1) Or in the UK not all that long ago, in lifetimes. :-) (2) Which makes it all the sadder that the SQL "between" operator assumes closed intervals, and that programmers are encouraged to check dates with it. Sigh. -- perl -Mre=debug -e "/just|another|perl|hacker/"