Convertir UTC Date à Date

Je suis la conversion de l'époque (qui est en UTC) pour un format comme indiqué ci-dessous. Maintenant, j'ai essayé différentes, DONC des réponses à convertir UTCDate de UTC à l'heure locale. Mais je ne suis pas arriver à l'heure locale.

Toute aide serait appréciée.

String epochTime = "1436831775043";

Date UTCDate = new Date(Long.parseLong(epochTime));
Date localDate; //How to get this?

SimpleDateFormat simpleDateFormat = new SimpleDateFormat("h:mm a");
String result = simpleDateFormat.format(UTCDate);

Aussi, la conversion doit être réalisée sans l'aide d'aucune bibliothèque externe.

  • Est-ce Java 8?
  • Avez-vous essayé SimpleDateFormat(String pattern, Locale locale)?
  • Oui, il est.
  • Ou peut-être ZonedDateTime#withZoneSameInstant?
  • Mais il dit, "Ce constructeur ne peut pas soutenir toutes les langues."
  • Oui, mais avez-vous essayé? Qu'en est SimpleDateFormat#setTimeZone?
  • Toute chance vous pouvez cesser d'utiliser le obsolète de la Date et de passer à OffsetDateTime et LocalDateTime?