import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Locale;

public class Main {
	public static void main(String[] args) {
		SimpleDateFormat sfdArr[] = {
								new SimpleDateFormat("y-M-d'T'H:m:sXXX", Locale.ENGLISH),
								new SimpleDateFormat("y-M-d'T'H:m:sXX", Locale.ENGLISH),
								new SimpleDateFormat("y-M-d'T'H:m:sX", Locale.ENGLISH)
		};
		
		String []strDateTimeArr = {
					"2021-06-06T04:54:41-04:00",
					"2021-06-06T04:54:41-0400",
					"2021-06-06T04:54:41-04",
					"2021-06-06T04:54:41Z"					
		};
		
		for(String s : strDateTimeArr) {
			Date date = null;
			for(SimpleDateFormat sdf : sfdArr) {
				try {
					date = sdf.parse(s);
				}catch(ParseException e) {
					//...
				}
			}
			System.out.println(date);
		}
	}
}