示例#1
0
 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);
 }
示例#2
0
 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;
 }