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

public class Main {
	public static void main(String[] args) {
		String strDateTime = "Tue Jan 03 00:00:00 MSK 2006";
		String formatted = formatDateTimeStringTo(strDateTime, "yyyyMMdd", Locale.ENGLISH);

		System.out.println("opDate: " + strDateTime);
		System.out.println("date: " + formatted);
	}

	public static String formatDateTimeStringTo(String strDateTime, String targetFormat, Locale locale) {
		DateTimeFormatter parser = DateTimeFormatter.ofPattern("EEE MMM d H:m:s zzz u", locale);
		DateTimeFormatter formatter = DateTimeFormatter.ofPattern(targetFormat, locale);
		ZonedDateTime zdt = ZonedDateTime.parse(strDateTime, parser);
		// System.out.println(zdt); // 2006-01-03T00:00+03:00[Europe/Moscow]
		return zdt.format(formatter);
	}
}