Я бы использовал java.time
, так как значение выглядит (и, скорее всего, так) моментом времени, подсчитанным как эпоха миллисекунд . Вы можете преобразовать его в Instant
, а затем преобразовать его в объект даты и времени, осведомленный о смещении или часовом поясе.
Посмотрите на это:
public static void main(String[] args) {
// your sample millis
long documentDateInMillis = 1574283600000L;
// parse it to a moment in time: an Instant
Instant instant = Instant.ofEpochMilli(documentDateInMillis);
// then create an offset aware datetime object by adding an actual offset
OffsetDateTime odt = OffsetDateTime.ofInstant(instant, ZoneOffset.of("+03:00"));
// print it in the default representation
System.out.println("Default formatting:\t" + odt);
// or in an ISO representation of the date only
System.out.println("ISO local date:\t\t"
+ odt.format(DateTimeFormatter.ISO_LOCAL_DATE));
// or in a custom representation (date only, too)
System.out.println("Custom formatting:\t"
+ odt.format(DateTimeFormatter.ofPattern("dd/MM/yyyy")));
}
Выходные данные является следующим:
Default formatting: 2019-11-21T00:00+03:00
ISO local date: 2019-11-21
Custom formatting: 21/11/2019