Trabajar con varios Calendar TimeZone en Java (sin usar Joda Time)

Estaba buscando una forma de obtener la hora actual en varias zonas horarias en función de la entrada de un usuario. Sé que podría usarTiempo de joda! ¿Pero es esa la única manera?

¿No hay una opción en Java para hacer esto? Probé el siguiente código que da el mismo resultado para los 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());

¿Qué me estoy perdiendo aquí para obtener la hora actual en otras zonas horarias?

Respuestas a la pregunta(2)

Su respuesta a la pregunta