private static Boolean GetDayOfNNY(ref DateTimeResult result, ref DateTimeRawInfo raw, DateTimeFormatInfo dtfi) {
if ((result.flags & ParseFlags.HaveDate) != 0) {
// Multiple dates in the input string
result.SetFailure(ParseFailureKind.Format, "Format_BadDateTime", null);
return false;
}
int n1 = raw.GetNumber(0);
int n2 = raw.GetNumber(1);
int order;
if (!GetYearMonthDayOrder(dtfi.ShortDatePattern, dtfi, out order)) {
result.SetFailure(ParseFailureKind.FormatWithParameter, "Format_BadDatePattern", dtfi.ShortDatePattern);
return false;
}
if (order == ORDER_MDY || order == ORDER_YMD) {
if (SetDateYMD(ref result, raw.year, n1, n2)) {
result.flags |= ParseFlags.HaveDate;
return true; // MD + Year
}
} else {
if (SetDateYMD(ref result, raw.year, n2, n1)) {
result.flags |= ParseFlags.HaveDate;
return true; // DM + Year
}
}
result.SetFailure(ParseFailureKind.Format, "Format_BadDateTime", null);
return false;
}