import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.time.format.DateTimeFormatterBuilder;
import java.time.temporal.ChronoField;
import java.util.Locale;
import java.util.stream.Stream;

public class Main {
	public static void main(String[] args) {
		DateTimeFormatter parser = new DateTimeFormatterBuilder()
				.appendPattern("uuuu-MM-dd['T'][ ]HH:mm[:ss]")
				.parseDefaulting(ChronoField.SECOND_OF_MINUTE, 0)																		
				.toFormatter(Locale.ENGLISH);
		
		// Test
		Stream.of(
					"2021-07-10T10:20:30",
					"2021-07-10 10:20:30",
					"2021-07-10T10:20",
					"2021-07-10 10:20"
		).forEach(s -> System.out.println(LocalDateTime.parse(s,  parser)));
	}
}