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