2589 {
2590 if (raw.year >= 0 && raw.GetNumber(0) >= 0)
2591 {
2592 raw.GetNumber(1);
2593 _ = 0;
2594 }
2596 int result2 = 0;
2597 double result3 = 0.0;
2598 str.SkipWhiteSpaces();
2600 {
2601 result.SetBadDateTimeFailure();
2602 return false;
2603 }
2604 str.SkipWhiteSpaces();
2605 if (!
str.Match(
':'))
2606 {
2607 result.SetBadDateTimeFailure();
2608 return false;
2609 }
2610 str.SkipWhiteSpaces();
2612 {
2613 result.SetBadDateTimeFailure();
2614 return false;
2615 }
2616 str.SkipWhiteSpaces();
2618 {
2619 str.SkipWhiteSpaces();
2621 {
2622 result.SetBadDateTimeFailure();
2623 return false;
2624 }
2626 {
2628 {
2629 result.SetBadDateTimeFailure();
2630 return false;
2631 }
2633 }
2634 str.SkipWhiteSpaces();
2635 }
2637 {
2638 switch (
str.GetChar())
2639 {
2640 case '+':
2641 case '-':
2642 result.flags |= ParseFlags.TimeZoneUsed;
2644 {
2645 result.SetBadDateTimeFailure();
2646 return false;
2647 }
2649 break;
2650 case 'Z':
2651 case 'z':
2652 result.flags |= ParseFlags.TimeZoneUsed;
2653 result.timeZoneOffset =
TimeSpan.Zero;
2654 result.flags |= ParseFlags.TimeZoneUtc;
2655 break;
2656 default:
2658 break;
2659 }
2660 str.SkipWhiteSpaces();
2662 {
2664 {
2665 result.SetBadDateTimeFailure();
2666 return false;
2667 }
2668 str.SkipWhiteSpaces();
2669 }
2671 {
2672 result.SetBadDateTimeFailure();
2673 return false;
2674 }
2676 {
2677 result.SetBadDateTimeFailure();
2678 return false;
2679 }
2680 }
2682 if (!defaultInstance.
TryToDateTime(raw.year, raw.GetNumber(0), raw.GetNumber(1), result4, result5, result2, 0, result.era, out var result6))
2683 {
2684 result.SetFailure(ParseFailureKind.FormatBadDateTimeCalendar, "Format_BadDateTimeCalendar");
2685 return false;
2686 }
2687 if (!result6.TryAddTicks((long)Math.Round(result3 * 10000000.0), out result6))
2688 {
2689 result.SetBadDateTimeFailure();
2690 return false;
2691 }
2692 result.parsedDate = result6;
2694 }
static bool DetermineTimeZoneAdjustments(ref DateTimeResult result, DateTimeStyles styles, bool bTimeOnly)
static bool ParseDigits(ref __DTString str, int digitLen, out int result)
static bool VerifyValidPunctuation(ref __DTString str)
static bool ParseFraction(ref __DTString str, out double result)
static bool ParseTimeZone(ref __DTString str, ref TimeSpan result)
virtual bool TryToDateTime(int year, int month, int day, int hour, int minute, int second, int millisecond, int era, out DateTime result)
static Calendar GetDefaultInstance()