Не используйте new DateTime("...")
.Используйте DateTime.parse("...")
.
См. Разницу:
DateTime dateTime1 = new DateTime("2001-07-04T12:08:56.235-07:00");
System.out.println(dateTime1);
System.out.println(dateTime1.getZone());
DateTime dateTime2 = DateTime.parse("2001-07-04T12:08:56.235-07:00");
System.out.println(dateTime2);
System.out.println(dateTime2.getZone());
Выход (я в восточной части США)
2001-07-04T15:08:56.235-04:00
America/New_York
2001-07-04T12:08:56.235-07:00
-07:00
Как вы можетесм., использование new
преобразует часовой пояс по умолчанию, в то время как использование parse
сохраняет данный часовой пояс.