Fuso horário Java - comportamento estranho com o IST?

Eu tenho o código abaixo:

DateFormat df = new SimpleDateFormat("M/d/yy h:mm a z");
df.setLenient(false);
System.out.println(df.parse("6/29/2012 5:15 PM IST"));

Assumindo que agora defino o fuso horário do PC para o horário do Pacífico (UTC-7 para PDT), isso imprime

Sex 29 de junho 08:15:00 PDT 2012

Não é PDT 12,5 horas atrás do IST (Indian Standard Time)? Esse problema não ocorre para qualquer outro fuso horário - tentei UTC, PKT, MMT etc em vez de IST na seqüência de data. Existem dois ISTs em Java por acaso?

P.S: A string de data no código real vem de uma fonte externa, portanto não posso usar o deslocamento GMT ou qualquer outro formato de fuso horário.

questionAnswers(4)

yourAnswerToTheQuestion