1993 {
1994 if ((result.flags & ParseFlags.HaveYear) != 0)
1995 {
1996 if ((result.flags & ParseFlags.HaveMonth) == 0 && (result.flags & ParseFlags.HaveDay) == 0 &&
TryAdjustYear(ref result, raw.year, out result.Year) &&
SetDateYMD(ref result, result.Year, raw.GetNumber(0), raw.GetNumber(1)))
1997 {
1998 return true;
1999 }
2000 }
2001 else if ((result.flags & ParseFlags.HaveMonth) != 0 && (result.flags & ParseFlags.HaveYear) == 0 && (result.flags & ParseFlags.HaveDay) == 0)
2002 {
2004 {
2005 result.SetFailure(ParseFailureKind.FormatWithParameter,
"Format_BadDatePattern", dtfi.
ShortDatePattern);
2006 return false;
2007 }
2008 int adjustedYear;
2009 if (order == 0)
2010 {
2011 if (
TryAdjustYear(ref result, raw.GetNumber(0), out adjustedYear) &&
SetDateYMD(ref result, adjustedYear, result.Month, raw.GetNumber(1)))
2012 {
2013 return true;
2014 }
2015 }
2016 else if (
TryAdjustYear(ref result, raw.GetNumber(1), out adjustedYear) &&
SetDateYMD(ref result, adjustedYear, result.Month, raw.GetNumber(0)))
2017 {
2018 return true;
2019 }
2020 }
2021 result.SetBadDateTimeFailure();
2022 return false;
2023 }
static bool SetDateYMD(ref DateTimeResult result, int year, int month, int day)
static bool GetYearMonthDayOrder(string datePattern, out int order)
static bool TryAdjustYear(ref DateTimeResult result, int year, out int adjustedYear)