Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ GetDayOfMN()

static bool System.DateTimeParse.GetDayOfMN ( ref DateTimeResult result,
ref DateTimeStyles styles,
ref DateTimeRawInfo raw,
DateTimeFormatInfo dtfi )
inlinestaticprivate

Definition at line 1611 of file DateTimeParse.cs.

1612 {
1613 if ((result.flags & ParseFlags.HaveDate) != 0)
1614 {
1615 result.SetBadDateTimeFailure();
1616 return false;
1617 }
1618 if (!GetMonthDayOrder(dtfi.MonthDayPattern, out var order))
1619 {
1620 result.SetFailure(ParseFailureKind.FormatWithParameter, "Format_BadDatePattern", dtfi.MonthDayPattern);
1621 return false;
1622 }
1623 if (order == 7)
1624 {
1625 if (!GetYearMonthOrder(dtfi.YearMonthPattern, out var order2))
1626 {
1627 result.SetFailure(ParseFailureKind.FormatWithParameter, "Format_BadDatePattern", dtfi.YearMonthPattern);
1628 return false;
1629 }
1630 if (order2 == 5)
1631 {
1632 if (!TryAdjustYear(ref result, raw.GetNumber(0), out var adjustedYear) || !SetDateYMD(ref result, adjustedYear, raw.month, 1))
1633 {
1634 result.SetBadDateTimeFailure();
1635 return false;
1636 }
1637 return true;
1638 }
1639 }
1640 GetDefaultYear(ref result, ref styles);
1641 if (!SetDateYMD(ref result, result.Year, raw.month, raw.GetNumber(0)))
1642 {
1643 result.SetBadDateTimeFailure();
1644 return false;
1645 }
1646 return true;
1647 }
static bool SetDateYMD(ref DateTimeResult result, int year, int month, int day)
static bool GetMonthDayOrder(string pattern, out int order)
static bool TryAdjustYear(ref DateTimeResult result, int year, out int adjustedYear)
static bool GetYearMonthOrder(string pattern, out int order)
static void GetDefaultYear(ref DateTimeResult result, ref DateTimeStyles styles)

References System.DateTimeParse.GetDefaultYear(), System.DateTimeParse.GetMonthDayOrder(), System.DateTimeParse.GetYearMonthOrder(), System.Globalization.DateTimeFormatInfo.MonthDayPattern, System.DateTimeParse.SetDateYMD(), and System.DateTimeParse.TryAdjustYear().

Referenced by System.DateTimeParse.ProcessTerminalState().