Olá, o código cal.get(Calendar.MONTH) retorna mês 3 e não 4.
O relógio e data da minha máquina estão corretos. "quarta-feira, 29 de abril de 2009"
No painel de controle->Opções regionais e de idioma está tudo configurado para Brasil.
Sistama Win XP Pro.
Se alguém souber o porquê, eu agradeço.
public class TesteData {
public static void main(String[] args) {
GregorianCalendar dataAtual = new GregorianCalendar();
Date data = dataAtual.getTime();
Calendar cal = null;
cal = Calendar.getInstance();
cal.setTime( data );
try {
int horas = cal.get(Calendar.HOUR_OF_DAY);
System.out.println("horas: " + horas);
int minutos = cal.get(Calendar.MINUTE);
System.out.println("minutos: " + minutos);
int segundos = cal.get(Calendar.SECOND);
System.out.println("segundos: " + segundos);
int ano = cal.get(Calendar.YEAR);
System.out.println("Ano: " + ano);
int mes = cal.get(Calendar.MONTH);
System.out.println("mes: " + mes);
int dia = cal.get(Calendar.DAY_OF_MONTH);
System.out.println("dia: " + dia);
} catch (Exception e) {
e.printStackTrace();
}
}
}