private bool ParseZoneAndWhitespace(int start) { if (start < _length) { char ch = _text[start]; if (ch == 'Z' || ch == 'z') { kind = XsdDateTimeKind.Zulu; start++; } else if (start + 5 < _length) { if ( Parse2Dig(start + s_Lz_, ref zoneHour) && zoneHour <= 99 && ParseChar(start + s_lz_zz, ':') && Parse2Dig(start + s_lz_zz_, ref zoneMinute) && zoneMinute <= 99 ) { if (ch == '-') { kind = XsdDateTimeKind.LocalWestOfZulu; start += s_lz_zz_zz; } else if (ch == '+') { kind = XsdDateTimeKind.LocalEastOfZulu; start += s_lz_zz_zz; } } } } while (start < _length && char.IsWhiteSpace(_text[start])) { start++; } return(start == _length); }
private bool ParseZoneAndWhitespace(int start) { if (start < length) { char ch = text[start]; if (ch == 'Z' || ch == 'z') { kind = XsdDateTimeKind.Zulu; start++; } else if (start + 5 < length) { if ( Parse2Dig(start + Lz_, ref zoneHour) && zoneHour <= 99 && ParseChar(start + Lz_zz, ':') && Parse2Dig(start + Lz_zz_, ref zoneMinute) && zoneMinute <= 99 ) { if (ch == '-') { kind = XsdDateTimeKind.LocalWestOfZulu; start += Lz_zz_zz; } else if (ch == '+') { kind = XsdDateTimeKind.LocalEastOfZulu; start += Lz_zz_zz; } } } } while (start < length && char.IsWhiteSpace(text[start])) { start++; } return start == length; }