Fix date1 - date2 where date2 is greater than date1

This fixes the result of `date1 - date2` where date2 is greater than date1 and date1 and date2
are in different calendar years.

@arjclark, please review.
Now done in c4c3118.