Calendar manipulation routines from Scott E. Lee.