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

◆ TryParseExactInternal() [1/2]

static ParseFailureKind System.TimeOnly.TryParseExactInternal ( ReadOnlySpan< char > s,
ReadOnlySpan< char > format,
IFormatProvider provider,
DateTimeStyles style,
out TimeOnly result )
inlinestaticprivate

Definition at line 351 of file TimeOnly.cs.

352 {
353 if (((uint)style & 0xFFFFFFF8u) != 0)
354 {
355 result = default(TimeOnly);
356 return ParseFailureKind.FormatWithParameter;
357 }
358 if (format.Length == 1)
359 {
360 switch (format[0])
361 {
362 case 'O':
363 case 'o':
364 format = "HH':'mm':'ss'.'fffffff";
365 provider = CultureInfo.InvariantCulture.DateTimeFormat;
366 break;
367 case 'R':
368 case 'r':
369 format = "HH':'mm':'ss";
370 provider = CultureInfo.InvariantCulture.DateTimeFormat;
371 break;
372 }
373 }
374 DateTimeResult result2 = default(DateTimeResult);
375 result2.Init(s);
376 if (!DateTimeParse.TryParseExact(s, format, DateTimeFormatInfo.GetInstance(provider), style, ref result2))
377 {
378 result = default(TimeOnly);
379 return ParseFailureKind.FormatWithOriginalDateTime;
380 }
381 if ((result2.flags & (ParseFlags.HaveYear | ParseFlags.HaveMonth | ParseFlags.HaveDay | ParseFlags.HaveDate | ParseFlags.TimeZoneUsed | ParseFlags.TimeZoneUtc | ParseFlags.ParsedMonthName | ParseFlags.CaptureOffset | ParseFlags.UtcSortPattern)) != 0)
382 {
383 result = default(TimeOnly);
384 return ParseFailureKind.WrongParts;
385 }
386 result = new TimeOnly(result2.parsedDate.TimeOfDay.Ticks);
387 return ParseFailureKind.None;
388 }
static CultureInfo InvariantCulture
TimeOnly(int hour, int minute)
Definition TimeOnly.cs:31

References System.TimeOnly.TimeOnly(), System.DateTimeResult.flags, System.format, System.DateTimeResult.Init(), System.Globalization.CultureInfo.InvariantCulture, System.DateTimeResult.parsedDate, System.s, System.TimeSpan.Ticks, System.DateTime.TimeOfDay, and System.DateTimeParse.TryParseExact().

Referenced by System.TimeOnly.ParseExact(), System.TimeOnly.ParseExact(), System.TimeOnly.TryParseExact(), and System.TimeOnly.TryParseExact().