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

◆ ParseValue()

DateTime System.Net.Mime.SmtpDateTime.ParseValue ( string data,
out string timeZone )
inlinepackage

Definition at line 119 of file SmtpDateTime.cs.

120 {
121 if (string.IsNullOrEmpty(data))
122 {
123 throw new FormatException(System.SR.MailDateInvalidFormat);
124 }
125 int num = data.IndexOf(':');
126 if (num == -1)
127 {
128 throw new FormatException(System.SR.Format(System.SR.MailHeaderFieldInvalidCharacter, data));
129 }
130 int num2 = data.IndexOfAny(s_allowedWhiteSpaceChars, num);
131 if (num2 == -1)
132 {
133 throw new FormatException(System.SR.Format(System.SR.MailHeaderFieldInvalidCharacter, data));
134 }
135 string s = data.AsSpan(0, num2).Trim().ToString();
136 if (!DateTime.TryParseExact(s, s_validDateTimeFormats, CultureInfo.InvariantCulture, DateTimeStyles.AllowWhiteSpaces, out var result))
137 {
138 throw new FormatException(System.SR.MailDateInvalidFormat);
139 }
140 string text = data.AsSpan(num2).Trim().ToString();
141 int num3 = text.IndexOfAny(s_allowedWhiteSpaceChars);
142 if (num3 != -1)
143 {
144 text = text.Substring(0, num3);
145 }
146 if (string.IsNullOrEmpty(text))
147 {
148 throw new FormatException(System.SR.MailDateInvalidFormat);
149 }
150 timeZone = text;
151 return result;
152 }
static CultureInfo InvariantCulture
static readonly char[] s_allowedWhiteSpaceChars
static readonly string[] s_validDateTimeFormats
static string Format(string resourceFormat, object p1)
Definition SR.cs:118
static string MailDateInvalidFormat
Definition SR.cs:36
static string MailHeaderFieldInvalidCharacter
Definition SR.cs:140
Definition SR.cs:7

References System.SR.Format(), System.Globalization.CultureInfo.InvariantCulture, System.SR.MailDateInvalidFormat, System.SR.MailHeaderFieldInvalidCharacter, System.s, System.Net.Mime.SmtpDateTime.s_allowedWhiteSpaceChars, System.Net.Mime.SmtpDateTime.s_validDateTimeFormats, System.text, and System.DateTime.TryParseExact().

Referenced by System.Net.Mime.SmtpDateTime.SmtpDateTime().