2496 {
2497 if ((result.flags & ParseFlags.TimeZoneUsed) == 0)
2498 {
2500 {
2501 result.timeZoneOffset =
TimeSpan.Zero;
2502 }
2503 else
2504 {
2505 result.timeZoneOffset = TimeZoneInfo.GetLocalUtcOffset(result.parsedDate,
TimeZoneInfoOptions.NoThrowOnInvalidTime);
2506 }
2507 }
2508 long ticks = result.timeZoneOffset.Ticks;
2509 long num = result.parsedDate.Ticks - ticks;
2510 if (num < 0 || num > 3155378975999999999
L)
2511 {
2512 result.SetFailure(ParseFailureKind.FormatWithOriginalDateTime, "Format_UTCOutOfRange");
2513 return false;
2514 }
2515 if (ticks < -504000000000L || ticks > 504000000000
L)
2516 {
2517 result.SetFailure(ParseFailureKind.FormatWithOriginalDateTime, "Format_OffsetOutOfRange");
2518 return false;
2519 }
2521 {
2522 if ((result.flags & ParseFlags.TimeZoneUsed) == 0 && (styles &
DateTimeStyles.AssumeUniversal) == 0)
2523 {
2525 result.timeZoneOffset =
TimeSpan.Zero;
2526 return result2;
2527 }
2529 result.timeZoneOffset =
TimeSpan.Zero;
2530 }
2531 return true;
2532 }
static bool AdjustTimeZoneToUniversal(ref DateTimeResult result)