java timestamp timestamp-with-timezone

Marca de tiempo de análisis con zona horaria en java



timestamp java (2)

Necesita usar X lugar de Z :

SimpleDateFormat mdyFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSSSSX");

Ver el javadoc para más información.

Nota: solo disponible en Java 7+.

Estoy tratando de analizar una cadena de formato de marca de tiempo con zona horaria obtenida de un DB. The String es el siguiente:

SimpleDateFormat mdyFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSSSSZ"); SimpleDateFormat sdf = new SimpleDateFormat("dd-MM-yyyy"); Date d1 = mdyFormat.parse("2014-04-01 15:19:49.31146+05:30"); String mdx = sdf.format(d1); System.out.println(mdx);

El problema es que me sale un error que dice:

Exception in thread "main" java.text.ParseException: Unparseable date: "2014-04-01 15:19:49.31146+05:30" at java.text.DateFormat.parse(DateFormat.java:357) at com.karthik.Timestampvalidate.main(Timestampvalidate.java:31)

Alguien sabe cómo arreglar esto ?


Si puede utilizar las nuevas API de fecha / hora de JSR 310 en Java 8, puede usar el formato XXX para analizar la zona horaria. Necesita tres X para obtener el desplazamiento específico separado por dos puntos que está utilizando.

DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss.SSSSSXXX"); TemporalAccessor dateTime = formatter.parse("2014-04-01 15:19:49.31146+05:30"); // returns: {OffsetSeconds=19800},ISO resolved to 2014-04-01T15:19:49.311460