import java.time.OffsetDateTime;
import java.time.format.DateTimeFormatter;
import java.util.Locale;
import java.util.stream.Stream;

public class Main {
	public static void main(String[] args) {
		DateTimeFormatter dtf = DateTimeFormatter.ofPattern("u-M-d'T'H:m:s[XXX][XX][X]", Locale.ENGLISH);
		
		//Test
		Stream.of(
					"2021-06-06T04:54:41-04:00",
					"2021-06-06T04:54:41-0400",
					"2021-06-06T04:54:41-04",
					"2021-06-06T04:54:41Z"					
		).forEach(s -> System.out.println(OffsetDateTime.parse(s, dtf)));
	}
}