Try making it a Time object instead of a Date:
t = Time.mktime(2007,2,4) => Sun Feb 04 00:00:00 CST 2007 t.ago(2.days) => Fri Feb 02 00:00:00 CST 2007 5.days.since(t) => Fri Feb 09 00:00:00 CST 2007
You can call to_date on the Time object if you actually need a Date object finally.
ed