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

◆ TryParseDateTimeOffsetDefault()

static bool System.Buffers.Text.Utf8Parser.TryParseDateTimeOffsetDefault ( ReadOnlySpan< byte > source,
out DateTimeOffset value,
out int bytesConsumed )
inlinestaticprivate

Definition at line 278 of file Utf8Parser.cs.

279 {
280 if (source.Length < 26)
281 {
282 bytesConsumed = 0;
283 value = default(DateTimeOffset);
284 return false;
285 }
286 if (!TryParseDateTimeG(source, out var value2, out var _, out var _))
287 {
288 bytesConsumed = 0;
289 value = default(DateTimeOffset);
290 return false;
291 }
292 if (source[19] != 32)
293 {
294 bytesConsumed = 0;
295 value = default(DateTimeOffset);
296 return false;
297 }
298 byte b = source[20];
299 if (b != 43 && b != 45)
300 {
301 bytesConsumed = 0;
302 value = default(DateTimeOffset);
303 return false;
304 }
305 uint num = (uint)(source[21] - 48);
306 uint num2 = (uint)(source[22] - 48);
307 if (num > 9 || num2 > 9)
308 {
309 bytesConsumed = 0;
310 value = default(DateTimeOffset);
311 return false;
312 }
313 int offsetHours = (int)(num * 10 + num2);
314 if (source[23] != 58)
315 {
316 bytesConsumed = 0;
317 value = default(DateTimeOffset);
318 return false;
319 }
320 uint num3 = (uint)(source[24] - 48);
321 uint num4 = (uint)(source[25] - 48);
322 if (num3 > 9 || num4 > 9)
323 {
324 bytesConsumed = 0;
325 value = default(DateTimeOffset);
326 return false;
327 }
328 int offsetMinutes = (int)(num3 * 10 + num4);
329 if (!TryCreateDateTimeOffset(value2, b == 45, offsetHours, offsetMinutes, out value))
330 {
331 bytesConsumed = 0;
332 value = default(DateTimeOffset);
333 return false;
334 }
335 bytesConsumed = 26;
336 return true;
337 }
static bool TryCreateDateTimeOffset(DateTime dateTime, bool offsetNegative, int offsetHours, int offsetMinutes, out DateTimeOffset value)
static bool TryParseDateTimeG(ReadOnlySpan< byte > source, out DateTime value, out DateTimeOffset valueAsOffset, out int bytesConsumed)

References System.source, System.Buffers.Text.Utf8Parser.TryCreateDateTimeOffset(), System.Buffers.Text.Utf8Parser.TryParseDateTimeG(), and System.value.

Referenced by System.Buffers.Text.Utf8Parser.TryParse().