public static int Compare(XsdDateTime left, XsdDateTime right) {
if (left.extra == right.extra) {
return DateTime.Compare(left.dt, right.dt);
}
else {
// Xsd types should be the same for it to be comparable
if (left.InternalTypeCode != right.InternalTypeCode) {
throw new ArgumentException(Res.GetString(Res.Sch_XsdDateTimeCompare, left.TypeCode, right.TypeCode));
}
// Convert both to UTC
return DateTime.Compare(left.GetZuluDateTime(), right.GetZuluDateTime());
}
}