793 {
794 if (
str.Index <
str.Length - 1)
795 {
796 char c =
str.Value[
str.Index];
797 int num = 0;
798 while (
char.IsWhiteSpace(c) &&
str.Index + num <
str.Length - 1)
799 {
800 num++;
801 c =
str.Value[str.Index + num];
802 }
803 if (c == '+' || c == '-')
804 {
805 str.Index += num;
806 if ((result.flags & ParseFlags.TimeZoneUsed) != 0)
807 {
808 result.SetBadDateTimeFailure();
809 return false;
810 }
811 result.flags |= ParseFlags.TimeZoneUsed;
813 {
814 result.SetBadDateTimeFailure();
815 return false;
816 }
817 }
818 }
819 return true;
820 }
static bool ParseTimeZone(ref __DTString str, ref TimeSpan result)