Slightly less horrible UTC offset handling in JS.