2011-09-07 11 views
8

Tengo la siguiente cadena de fecha: 2011-09-06T22:02:57-04:00. El problema es la zona horaria, -04: 00. Los documentos Java7 dicen que puedo utilizar para que coincida con XXX mágicamente esta cadena de zona horaria: http://download.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.htmlGroovy Date Parsing - X es un carácter de patrón ilegal

El problema es que Groovy no admite el carácter X, presumiblemente porque no está utilizando JDK7 todavía. El carácter z no funciona porque no es GMT-07:00, solo -07:00 ¿Cuál es la forma más fácil de analizar esta zona horaria?

-tjw

+0

¿Qué estás tratando de hacer exactamente? Obtener groovy para analizar la fecha y devolverla a java? ¿O algo dentro del groovy? No está claro exactamente por qué está tratando de hacer lo que hace – nuzz

+1

El OP desea analizar una cadena de fecha y hora ISO8601 en Groovy. Esta es una buena pregunta, porque el sufijo de zona horaria no es directamente compatible con la clase 'SimpleDateFormat' en el jar en la instalación de Groovy, creo. –

+0

@Ray los patrones 'Z' y' z' son compatibles, pero no 'X', de ahí mi problema. No conozco otra forma directa de analizar esta cadena. Para ser claros, cualquier programa Java pre-7 tendría este problema también. –

Respuesta

1

La respuesta más simple que puedo pensar, es simplemente usar 'Z'. El problema aquí es que -04: 00 no es reconocido por el analizador. Entonces, ¿por qué no ejecutar solo una expresión regular antes de tratar de convertirla, buscar la final y eliminarla?