Mali:
Estoy usando una API externa (utiliza MongoDB), que me envía un formato de fecha como esta:
"documentDate": 1574283600000,
Creo que tiene la fecha como:
"documentDate" : ISODate("2019-02-28T00:00:00.000+03:00"),
Pero me devuelve números. ¿Cómo puedo hacer que sea una fecha adecuada como esto:
03/12/2019
deHaar:
Yo usaría java.time
como las miradas de valor igual (y lo más probable es) un momento en el tiempo contado como milisegundos época . Se puede convertir a una Instant
y luego más convertirlo en un objeto de fecha y hora conocimiento de una o de un desplazamiento de zona horaria.
Echa un vistazo a esto:
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")));
}
La salida es la siguiente:
Default formatting: 2019-11-21T00:00+03:00
ISO local date: 2019-11-21
Custom formatting: 21/11/2019