parse - string to date java 8
¿Cómo puedo reconocer la zona horaria de Zulu en Java DateUtils.parseDate? (2)
Parece un error en FastDateFormat
commons-lang. Cuéntales sobre eso, y finalmente deberías obtener una solución. Hasta entonces podrías intentar preprocesar las fechas y reemplazar ''Z'' por ''+00''
Tengo fechas en el formato 2008-12-23T00:00:00Z
. Esto se parece mucho al formato ISO 8601 con una zona horaria Zulu (UTC). Pensé que el siguiente código lo analizaría (usando commons-lang ):
String pattern = DateFormatUtils.ISO_DATETIME_TIME_ZONE_FORMAT.getPattern();
Date d = DateUtils.parseDate(dateToParse, new String[] { pattern });
Si tomo el mismo patrón ( yyyy-MM-dd''T''HH:mm:ssZZ
) pero yyyy-MM-dd''T''HH:mm:ssZZ
la zona horaria, funciona.
¿Sabes cómo puedo reconocer la zona horaria de Zulu? Solo tengo acceso a Java 1.4 y Jakarta commons-lang. Aún no tengo tiempo de Joda ...
Creo que Commons-lang está usando el DateFormat incorporado de Java o SimpleDateFormat, que arroja una ParseException para su fecha. Si todas sus cadenas de entrada finalizan con la Z final, puede usar esto:
java.text.DateFormat df = new java.text.SimpleDateFormat("yyyy-MM-dd''T''HH:mm:ss''Z''");
// explicitly set timezone of input if needed
df.setTimeZone(java.util.TimeZone.getTimeZone("Zulu"));
java.util.Date date = df.parse("2008-12-23T00:00:00Z");