import java.time.Instant;
import java.time.OffsetDateTime;
import java.time.ZoneOffset;
import java.time.format.DateTimeFormatter;
import java.util.Locale;

public class Main {
	public static void main(String[] args) {
		// An example epoch milliseconds
		long millis = 1631113620000L;
		Instant instant = Instant.ofEpochMilli(millis);
		String strDateTime = instant.toString();
		System.out.println(strDateTime);

		// If you need the value strictly in the pattern, yyyy-MM-dd'T'HH:mm:ss.SSSXXX
		DateTimeFormatter dtf = DateTimeFormatter.ofPattern("uuuu-MM-dd'T'HH:mm:ss.SSSXXX", Locale.ENGLISH);
		OffsetDateTime odt = instant.atOffset(ZoneOffset.UTC);
		strDateTime = odt.format(dtf);
		System.out.println(strDateTime);
	}
}