Can somebody please explain kXMP_TimeIsUTC? Its existence appears to be a design and/or documentation bug to me. In particular, if I set tzSign tp kXMP_TimeIsUTC and non-zero values for tzHour and/or tzMinute, what does this mean? In this case, kXMP_TimeIsUTC states that the time zone is UTC, but tzHour and/or tzMinute contradict this.
The ideal solution would be to eliminate kXMP_TimeIsUTC altogether. To get UTC, you would set tzHour and tzMinute to 0 and tzSign to +1 or -1. Unfortunately, this probably isn't feasible for backwards compatibility reasons. An acceptable solution would be to state in the documentation that if tzSign is set to kXMP_TimeIsUTC then tzHour and tzMinute must be set to 0 or the behavior is undefined.