Como lidar com o horário de verão usando o TimeZone em Java

Eu tenho que imprimir o horário do EST no meu aplicativo Java. Eu tinha definido o fuso horário para EST usando:

<code>Calendar cal = Calendar.getInstance(TimeZone.getTimeZone("EST"));
</code>

Mas quando o horário de verão está sendo seguido neste fuso horário, meu código não imprime o horário correto (ele imprime uma hora a menos).

Como fazer o código funcionar para ler sempre a hora correta, independentemente de a economia de horário estar sendo observada ou não?

PS: Eu tentei definir o fuso horário para EDT, mas isso não resolve o problema.

questionAnswers(8)

yourAnswerToTheQuestion