Не уверен, что я правильно понимаю, но, похоже, ваша последняя строка должна быть:
System.out.println(ti.format(fromDt)); //prints 03/13/2012 13:15
Если ваш ввод был правильно отформатирован (обратите внимание на -04:00
вместо -4:00
в dt), вы можете просто сделать это:
SimpleDateFormat input = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssXXX");
SimpleDateFormat output = new SimpleDateFormat("MM/dd/yyyy HH:mm");
String dt = "2012-03-13T13:15:00-04:00";
Date date = input.parse(dt);
System.out.println(output.format(date)); //prints 03/13/2012 17:15 with my local timezone
output.setTimeZone(TimeZone.getTimeZone("GMT-08:00"));
System.out.println(output.format(date)); //prints 03/13/2012 09:15
Примечание: XXX
был представлен в Java 7, поэтому не будет работать с более ранней версией JDK.