The use of a rational to store datetimes at least makes sense. For dates, I'm afraid it does not.
I mentioned earlier that dates in the standard library are stored as datetimes. Which means that if you add a fractional part to a Date object, you may get something that looks like the same date, or something that looks like a different date.