Olá pessoal,
sei que essa é uma duvida bem comum nessa época do ano, mas eu vi algumas soluções, e até agora, nenhuma funcionou para mim.
1º: Qual é a melhor forma (a mais correta e segura) de se obter a data/hora atual em JAVA? (já considerando TimeZone e tudo mais)
2º: Qual é a melhor forma (a mais correta e segura) de se converter essa data/hora obtida em “dd/MM/yyyy” e “HH:mm”?
Pergunto isso pq agora estou estou usando, para obter a hora:
Date dataHora = new Date( System.currentTimeMillis() );
E para converter:
DateFormatter formatter = new SimpleDateFormatter( "dd/MM/yyyy" );
String dataStr = formatter.format( dataHora );
formatter = new SimpleDateFormatter( "HH:mm" );
String horaStr = formatter.format( dataHora );
Dessa forma, se nas configurações de horário do meu computador estiver marcada a opção:
“Ajustar automaticamente o relógio para o horário de verão”, o que eu obtenho da data formatada é sempre 1 hora a menos em relação a que eu deveria obter.
E me parece que o problema é na hora de formatar, ja que o resultado do currentTimeMillis nao muda conforma a opção marcada, e nem o valor a variavel dataHora. (tenho q confirmar isso, mas eu acho q é isso sim).
AJUDA…