re-factor date changes into shape. Add ToStableUniversalTime() for utc