Strefa czasowa Java - dziwne zachowanie w IST?

Mam poniższy kod:

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

Zakładając, że teraz ustawię strefę czasową mojego komputera na czas pacyficzny (UTC-7 dla PDT), to się wydrukuje

Fri Jun 29 08:15:00 PDT 2012

Czy PDT nie jest 12,5 godziny za IST (Indian Standard Time)? Ten problem nie występuje w przypadku innych stref czasowych - próbowałem UTC, PKT, MMT itp. Zamiast IST w ciągu daty. Czy są przypadkowo dwa IST w Javie?

P.S: Ciąg daty w rzeczywistym kodzie pochodzi ze źródła zewnętrznego, więc nie mogę użyć przesunięcia GMT ani żadnego innego formatu strefy czasowej.

questionAnswers(4)

yourAnswerToTheQuestion