Alter time spec to check date consistency.
Fix date mangling when changing time components.

Build the altered dates out of full datetime components to preserve the
existing year/month/day information.
Merge pull request #2 from jmhobbs/hotfix/preserve-date-when-setting-time

Preserve date when setting time.