J'ai deux horodatages qui décrivent le même instant dans deux formats différents.Date d'analyse avec Joda avec fuseau horaire
2010-10-03 18:58:07
et 2010-10-03T16:58:07.000+02:00
.
J'analyse les horodatages avec deux formats de date différents avec Joda. À la fin je veux avoir deux objets DateTime qui sont égaux en termes d'être le même instant de temps. Le format DateFormatter offre plusieurs méthodes pour contrôler les fuseaux horaires et les paramètres régionaux, mais je n'ai pas réussi à le faire fonctionner.
Voici le code que je voudrais travailler:
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));
Merci à l'avance si quelqu'un peut me aider!
Vous avez un type dans "2010-10-03T16: 58: 07.000 + 02: 00 signifie qu'il n'est pas 16:58:07 dans un fuseau horaire avec un décalage de +2 heures par rapport à GMT)". Il doit indiquer: "2010-10-03T16: 58: 07.000 + 02: 00 signifie qu'il est 16:58:07 dans un fuseau horaire avec un décalage de +2 heures par rapport à l'heure UTC)" – MicSim
Oui, je m'attendais à ce que ce soit 16 : 58: 07 GMT. Ensuite, il semble que les horodatages sont juste brisés. Ce sont des horodatages provenant de deux fichiers journaux différents de différents serveurs. Et je suis sûr qu'ils spécifient le même événement. C'est ainsi que ma confusion est venue. – wilfried
@MacSim: Bien sûr, j'ai écrit un peu trop vite là-bas. – jarnbjo