Trabalhando com vários Calendar TimeZone em Java (sem usar o Joda Time)

Eu estava procurando uma maneira de obter o tempo atual em vários fusos horários com base em uma entrada do usuário. Eu sei que eu poderia usarJoda Time! mas esse é o único caminho?

Existe uma opção em Java para fazer isso? Eu tentei o seguinte código que dá a mesma saída para todos os 3 sysouts.

Calendar pst = Calendar.getInstance(TimeZone.getTimeZone("PST"));
System.out.println("PST " + pst.getTime());
Calendar ist = Calendar.getInstance(TimeZone.getTimeZone("Asia/Calcutta"));
System.out.println("IST " + ist.getTime());
Calendar utc = Calendar.getInstance(TimeZone.getTimeZone("Etc/UTC"));
System.out.println("UCT " + utc.getTime());

O que estou perdendo aqui para ter tempo atual em outros fusos horários?

questionAnswers(2)

yourAnswerToTheQuestion