Convertir la cadena de fecha a formato de fecha ISO "2019-07-01T03: 50: 00.000Z" en Java

ysk:

¿Cómo puedo convertir la fecha " Mon Jul 01 08:00:00 IST 2019" de tipo cadena de ISODate " 2019-07-01T03:00:00.000Z"?

Kiran Mistry:

Actualización: El uso de DateTimeFormat, introducido en java 8:

La idea es definir dos formatos: uno para el formato de entrada, y otro para el formato de salida. Análisis sintáctico con el formateador de entrada, a continuación, formatee con el formateador de salida.

Su formato de entrada parece bastante estándar, excepto el arrastre Z. De todos modos, vamos a tratar con esto: "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'". El arrastre Zes la parte interesante. Por lo general, no hay datos de zona horaria aquí, al igual que -0700. Por lo que el patrón sería ...Z,decir, sin apóstrofes.

El formato de salida es mucho más simple: "dd-MM-yyyy". Presente a los pequeños y -s.

Aquí está el código de ejemplo:

DateTimeFormatter inputFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'", Locale.ENGLISH);
DateTimeFormatter outputFormatter = DateTimeFormatter.ofPattern("dd-MM-yyy", Locale.ENGLISH);
LocalDate date = LocalDate.parse("2018-04-10T04:00:00.000Z", inputFormatter);
String formattedDate = outputFormatter.format(date);
System.out.println(formattedDate); // prints 10-04-2018

Respuesta original - con la API de edad SimpleDateFormat

SimpleDateFormat inputFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'");
SimpleDateFormat outputFormat = new SimpleDateFormat("dd-MM-yyyy");
Date date = inputFormat.parse("2018-04-10T04:00:00.000Z");
String formattedDate = outputFormat.format(date);
System.out.println(formattedDate); // prints 10-04-2018

Supongo que te gusta

Origin http://43.154.161.224:23101/article/api/json?id=332106&siteId=1
Recomendado
Clasificación