code: public LocalDateTime parseLocalDateTime(String text) {
          InternalParser parser = requireParser();
          
          Chronology chrono = selectChronology(null).withUTC();  // always use UTC, avoiding DST gaps
          DateTimeParserBucket bucket = new DateTimeParserBucket(0, chrono, iLocale, iPivotYear, iDefaultYear);
          int newPos = parser.parseInto(bucket, text, 0);
          if (newPos >= 0) {
              if (newPos >= text.length()) {
                  long millis = bucket.computeMillis(true, text);
                  if (bucket.getOffsetInteger() != null) {  // treat withOffsetParsed() as being true
                      int parsedOffset = bucket.getOffsetInteger();
                      DateTimeZone parsedZone = DateTimeZone.forOffsetMillis(parsedOffset);
                      chrono = chrono.withZone(parsedZone);
                  } else if (bucket.getZone() != null) {
                      chrono = chrono.withZone(bucket.getZone());
                  }
                  return new LocalDateTime(millis, chrono);
              }
          } else {
              newPos = ~newPos;
          }
          throw new IllegalArgumentException(FormatUtils.createErrorMessage(text, newPos));
      }
docs: Parses only the local date-time from the given text, returning a new LocalDateTime.
  <p>
  This will parse the text fully according to the formatter, using the UTC zone.
  Once parsed, only the local date-time will be used.
  This means that any parsed time-zone or offset field is completely ignored.
  It also means that the zone and offset-parsed settings are ignored.
  
  @param text  the text to parse, not null
  @return the parsed date-time, never null
  @throws UnsupportedOperationException if parsing is not supported
  @throws IllegalArgumentException if the text to parse is invalid
  @since 2.0