Cómo analizar de fecha y hora con la zona horaria, pero no T o nanosegundos

Brett:

Estoy tratando de analizar una cadena de fecha y hora en el siguiente formato:

2019-02-22 19:29:43+00:00

Estoy siguiendo esta guía: https://docs.oracle.com/javase/8/docs/api/java/time/format/DateTimeFormatter.html

Esta fila en particular parece ser la cadena de marca de tiempo que estoy tratando de analizar para:

Z       zone-offset                 offset-Z          +0000; -0800; -08:00;

Aquí es lo que he creado, teniendo en cuenta que la guía:

String input = "2019-02-22 19:29:43+00:00";

DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ssX");
LocalDateTime parsed = LocalDateTime.parse(input, formatter);

Pero me sale este error:

 java.time.format.DateTimeParseException: Text '2019-02-22 19:29:43+00:00' could not be parsed, unparsed text found at index 22
Samuel Philipp:

Tratar yyyy-MM-dd HH:mm:ssXXX. Esto debería solucionar tu problema.

Offset X y x:

Uno salidas carta sólo la hora, como '01', a menos que el minuto no es cero en cuyo caso el minuto es también de salida, como '0130'.

Dos cartas da salida a la hora y el minuto, sin un colon, tales como '0130'.

Tres cartas salidas de la hora y los minutos, con dos puntos, como '01: 30'.

Cuatro letras da salida a la hora y el minuto y segundo opcional, sin un colon, tales como '013015'.

Cinco letras da salida a la hora y el minuto y segundo opcional, con dos puntos, como '01: 30: 15'.

Seis o más letras lanza IllegalArgumentException.

A partir de la descripción debajo de la mesa: https://docs.oracle.com/javase/8/docs/api/java/time/format/DateTimeFormatter.html

EDITAR:

Si desea formatear fechas con ese patrón y desea la misma cadena de salida se debe utilizar yyyy-MM-dd HH:mm:ssxxxen su lugar (ver comentario Andreas' más adelante).

Supongo que te gusta

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