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

◆ GetDayOfNM()

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

Definition at line 1666 of file DateTimeParse.cs.

1667 {
1668 if ((result.flags & ParseFlags.HaveDate) != 0)
1669 {
1670 result.SetBadDateTimeFailure();
1671 return false;
1672 }
1673 if (!GetMonthDayOrder(dtfi.MonthDayPattern, out var order))
1674 {
1675 result.SetFailure(ParseFailureKind.FormatWithParameter, "Format_BadDatePattern", dtfi.MonthDayPattern);
1676 return false;
1677 }
1678 if (order == 6)
1679 {
1680 if (!GetYearMonthOrder(dtfi.YearMonthPattern, out var order2))
1681 {
1682 result.SetFailure(ParseFailureKind.FormatWithParameter, "Format_BadDatePattern", dtfi.YearMonthPattern);
1683 return false;
1684 }
1685 if (order2 == 4)
1686 {
1687 if (!TryAdjustYear(ref result, raw.GetNumber(0), out var adjustedYear) || !SetDateYMD(ref result, adjustedYear, raw.month, 1))
1688 {
1689 result.SetBadDateTimeFailure();
1690 return false;
1691 }
1692 return true;
1693 }
1694 }
1695 GetDefaultYear(ref result, ref styles);
1696 if (!SetDateYMD(ref result, result.Year, raw.month, raw.GetNumber(0)))
1697 {
1698 result.SetBadDateTimeFailure();
1699 return false;
1700 }
1701 return true;
1702 }
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().