Tengo dos marcas de tiempo que describen el mismo instante de tiempo en dos formatos diferentes.Fecha de análisis con Joda con zona horaria
2010-10-03 18:58:07
y 2010-10-03T16:58:07.000+02:00
.
Analizo las marcas de tiempo con dos formateadores de fecha diferentes con Joda. Al final quiero tener dos objetos DateTime que sean iguales en términos de ser el mismo instante de tiempo.
DateFormatter ofrece varios métodos para controlar las zonas horarias y las configuraciones regionales, pero no pude conseguir que funcionase.
Este es el código que me gustaría trabajar:
final String date1 = "2010-10-03 18:58:07"; // Europe/Berlin local time
final DateTimeFormatter formatter1 = DateTimeFormat.forPattern("yyyy-MM-dd HH:mm:ss");
final DateTime dateTime1 = formatter1.parseDateTime(date1);
final String date2 = "2010-10-03T16:58:07.000+02:00"; // Europe/Berlin local time with time zone
final DateTimeFormatter formatter2 = DateTimeFormat.forPattern("yyyy-MM-dd'T'HH:mm:ss.SSSZ");
final DateTime dateTime2 = formatter2.parseDateTime(date2);
Assert.assertTrue(dateTime1.isEqual(dateTime2));
Gracias de antemano si alguien me puede ayudar!
Tiene un tipo en "2010-10-03T16: 58: 07.000 + 02: 00 significa que no es 16:58:07 en una zona horaria con un desplazamiento de +2 horas desde GMT)". Debe leer: "2010-10-03T16: 58: 07,000 + 02: 00 significa que es 16:58:07 en una zona horaria con un desplazamiento de +2 horas desde UTC)" – MicSim
Sí, esperaba que fuera 16 : 58: 07 GMT. Entonces parece que las marcas de tiempo simplemente se han roto. Estas son marcas de tiempo de dos archivos de registro diferentes de diferentes servidores. Y estoy bastante seguro de que especifican el mismo evento. Así que de esto se originó mi confusión. – wilfried
@MacSim: Claro, escribí un poco demasiado rápido allí. – jarnbjo