I don't understand the 0000:00:00 case (maybe I'll think about this
more when I get a chance), but the 2007:00:00 case should make
sense (if done left-to-right as you mentioned):
2007:01:01 is Jan 1, 2007
2007:00:01 is Dec 1, 2006 (1 month before)
2007:00:00 is Nov 30, 2006 (1 day before, November has 30 days)
So 2007:00:00 becomes 2006:11:30
- Phil