// // Check the word at the current index to see if it matches a day of week name. // Return -1 if a match is not found. Otherwise, a value from 0 to 6 is returned. // private static int GetDayOfWeekNumber(__DTString str, DateTimeFormatInfo dtfi) { // // Check the month name specified in dtfi. // DayOfWeek i; int maxLen = 0; int result = -1; // // We have to match the day name with the longest length, // since there are cultures which have more than one day of week names // with the same prefix. // int endIndex = str.FindEndOfCurrentWord(); String dayName=null; for (i = DayOfWeek.Sunday; i <= DayOfWeek.Saturday; i++) { dayName = dtfi.GetDayName(i); if (str.MatchSpecifiedWord(dayName, endIndex)) { if (dayName.Length > maxLen) { result = (int)i; maxLen = dayName.Length; } } } if (result > -1) { str.Index = endIndex; return (result); } for (i = DayOfWeek.Sunday; i <= DayOfWeek.Saturday; i++) { if (MatchWord(str, dtfi.GetAbbreviatedDayName(i), false)) { return ((int)i); } } // // Check the month name in the invariant culture. // for (i = DayOfWeek.Sunday; i <= DayOfWeek.Saturday; i++) { if (MatchWord(str, invariantInfo.GetDayName(i), false)) { return ((int)i); } } for (i = DayOfWeek.Sunday; i <= DayOfWeek.Saturday; i++) { if (MatchWord(str, invariantInfo.GetAbbreviatedDayName(i), false)) { return ((int)i); } } return (-1); }