date calculations for the Gregorian calendar
