¿Zona horaria de Java - comportamiento extraño con IST?

Tengo el siguiente código:

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"));

Suponiendo que ahora establezca la zona horaria de mi PC a la hora del Pacífico (UTC-7 para PDT), esto imprime

Vie 29 de junio 08:15:00 PDT 2012

¿No es PDT 12.5 horas por detrás de IST (hora estándar de la India)? Este problema no ocurre en ninguna otra zona horaria: probé UTC, PKT, MMT, etc. en lugar de IST en la cadena de fecha. ¿Hay dos IST en Java por casualidad?

P.S: La cadena de fecha en el código real proviene de una fuente externa, por lo que no puedo usar el desplazamiento GMT o cualquier otro formato de zona horaria.

Respuestas a la pregunta(4)

Su respuesta a la pregunta