使用 Joda 解析具有时区的日期
我有两个时间戳,它们以两种不同的格式描述相同的时刻。
2010-10-03 18:58:07
和。2010-10-03T16:58:07.000+02:00
我用Joda-Time用两个不同的日期格式化程序解析时间戳。最后,我希望有两个 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));