in reply to
As I pointed out on a previous topic, I've always found it easiest to deal with time/date stuff by first converting the dates I'm dealing with to seconds since the epoch (a numeric value). If you make use of the time function, it returns seconds since the epoch. If you have a date, and wish to convert it to seconds, you can use Time::Local to do so.
Once you have your date in seconds, it's very easy to do tests and manipulations on that data. For an example, see the node I linked above. Good luck!