我有两个时间戳,它们以两种不同的格式描述相同的时间。Joda与时区的分析日期
2010-10-03 18:58:07
和2010-10-03T16:58:07.000+02:00
。
我用两个不同的日期格式化器与Joda解析时间戳。最后,我希望有两个DateTime对象在相同的时刻相同。
DateFormatter提供了几种方法来控制时区和地区,但我无法让它工作。
这是我想工作的代码:
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));
在此先感谢如果有人能帮助我!
“2010-10-03T16:58:07.000 + 02:00”表示不是GMT时间为+2小时的时区不是16:58:07)“。它必须是:“2010-10-03T16:58:07.000 + 02:00表示在UTC时间偏移+2小时的时区为16:58:07)” – MicSim 2011-01-07 13:37:39