Pegar hora minutos segundos variável date

Eu tenho uma variável Date que traz dados do banco firebird, ela é do tipo java.util.Date,

System.out.println(iUsuario.getDataHoraAlteracao()); // Funciona, mostra 2007-12-11
System.out.println(iUsuario.getDataHoraAlteracao().getHours()); da pau…

como faço pra mostrar ?
brigado

passa o erro

Exception in thread “main” java.lang.IllegalArgumentException
at java.sql.Date.getHours(Date.java:143)

esse getHours() ta como deprecated…será que é por isso ?

É pra exibir na tela? Dá uma olhada na classe SimpleDateFormat…

EDIT: e vc tá usando a java.sql.Date, não java.util.Date… :wink:

No teu stacktrace está assim:

Exception in thread "main" java.lang.IllegalArgumentException at java.sql.Date.getHours(Date.java:143)

java.sql.Date.getHours

Troca o import da java.sql.date para java.util.date

Abraços!

Pessoal aqui é rápido no gatilho…

Quando apertei para responder, já tinham respondido!! :slight_smile:

Abraços!

Não estou usando o sql e sim o util.date

É que sou novo em Java e estou impressionado com a dificuldade que estou tendo pra mostrar horas de uma variável Date

Ja tentei usar SimpleDateFormat, mas utilizo só para dar parse… não vi nenhum método nele que poderia me ajudar.

Pois é precisamos de uma API melhor. Provavelmente no JAVA SE 7 teremos…

Se for apenas para exibir em tela é melhor utilizar o SimpleDateFormat, agora se precisar trabalhar com os dados tente assim:

final Calendar calendar = Calendar.getInstance();
calendar.setTime(suaData);

int hour = calendar.get(Calendar.HOUR_OF_DAY);
int minute = calendar.get(Calendar.MINUTE);
int second = calendar.get(Calendar.SECOND);
public static String formataData(java.util.Date data){
    SimpleDateFormat format = new SimpleDateFormat("dd/MM/aaaa HH:mm:ss");
    return format.format(data);
}

Não testei o código, mas pelo que eu lembro da API é isso…

ahh finalmente ! 7 linhas pra mostrar hora minutos e segundos é sacanagem…

deu certo sim…

obrigado a todos que me ajudaram…

Pronto reduzindo para 4 linhas :smiley:
O getInstance já pega a data e hora atual do sistema :wink:

final Calendar calendar = Calendar.getInstance();
int hour = calendar.get(Calendar.HOUR_OF_DAY);   
int minute = calendar.get(Calendar.MINUTE);   
int second = calendar.get(Calendar.SECOND);  
2 curtidas

OK Thiago, mas assim eu não pego a data e hora que está vindo do banco, que era meu propósito :smiley:

mas valeu mesmo assim…

[quote=MarceloS] public static String formataData(java.util.Date data){ SimpleDateFormat format = new SimpleDateFormat("dd/MM/aaaa HH:mm:ss"); return format.format(data); }

Não testei o código, mas pelo que eu lembro da API é isso…[/quote]

Só corrigindo é dd/MM/yyyy HH:mm:ss