Pegar hora minutos segundos variável date

12 respostas
Renyo

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

12 Respostas

M

passa o erro

Renyo

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

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

Marcelo_FS

É 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:

ajfilho

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!

ajfilho

Pessoal aqui é rápido no gatilho…

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

Abraços!

Renyo

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.

ignacio83

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);
Marcelo_FS
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…

Renyo

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

deu certo sim…

obrigado a todos que me ajudaram…

thiago.correa

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);
Renyo

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…

ignacio83

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…

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

Criado 18 de dezembro de 2008
Ultima resposta 18 de dez. de 2008
Respostas 12
Participantes 6