I suppose that specifying a month is just as vague as specifying a millenium (100 or 99 years?). I doubt this terminology was brought up to describe change in time, since there is no means of determining EXACT time. For this reason, you are forced to ignore it. Instead, since clarity comes before everything (as we have so graciously learned from quality M$ software), instead of some option specifying 1 month=30 days or 1 month=30 or 31 days, you should specifically choose 30 days and make it clear that you are not calling it a month or anything else- it's just 30 days-or 30*24 hours (shit- now is a day 24 or 23 5/6 hours?! scientist bastards!) The same goes for a year- make it simply 52 weeks or 30 days. Allowing options like "make millienium end on Jan 1, 2001" can only serve to complicate your program beyond user-friendliness and its really not useful. Sidenote: you mention strict and warnings but for CGI, but to snatch stderr errors, you should be using
. I have found it an indispensable tool for debugging.