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

public class Main {
	public static void main(String[] args) {
		String strDateTime = "31 October 2011 11:19:56 GMT";

		DateTimeFormatter dtf = DateTimeFormatter.ofPattern("dd MMMM uuuu HH:mm:ss z", Locale.ENGLISH);

		ZonedDateTime zdt = ZonedDateTime.parse(strDateTime, dtf);
		System.out.println(zdt);

		// Some other format
		DateTimeFormatter dtfAnother = DateTimeFormatter.ofPattern("MMMM dd HH:mm:ss z uuuu", Locale.ENGLISH);
		String strDate = dtfAnother.format(zdt);
		System.out.println(strDate);
	}
}