import java.time.ZonedDateTime;
import java.time.format.DateTimeFormatter;
import java.time.format.DateTimeFormatterBuilder;
import java.util.List;
import java.util.Locale;

class Main {
	
	public static void main(String[] args) {

		List<String> dateTimes = List.of(
			"23 Oct 2020 02:44:58 +1000",
			"23 Oct 2020 02:44:58 AEST"
		);

		DateTimeFormatter formatter = new DateTimeFormatterBuilder()
			.parseCaseInsensitive()
			.appendPattern("d MMM yyyy HH:mm[:ss] [Z][z]")
			.toFormatter(Locale.ROOT);

		dateTimes.forEach(dateTime -> {
			ZonedDateTime zonedDateTime = ZonedDateTime.parse(dateTime, formatter);
			System.out.println(zonedDateTime);
		});
	}
}