import java.time.ZonedDateTime;
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("EEE MMM dd HH:mm:ss zzz uuuu", Locale.ROOT);
        // Test
        Stream.of(
                "Sat Aug 12 12:51:34 GMT+01:00 2023",
                "Fri Aug 18 12:34:50 EDT 2023"
        ).forEach(s -> System.out.println(ZonedDateTime.parse(s, dtf)));
    }
}