Trabalhando com Datas

4 respostas
H

Boa tarde pessoal, to fazendo uma aplicação Java simples onde eu cadastro alguns dados de uma pessoa e guardo em um banco de dados sqlite. Surgiu uma dúvida na hora de implementar uma função que pretendo colocar nessa aplicação.
Um dos dados que to pegando da pessoa é a data de aniversário dela, até ai tudo bem… Queria uma ideia de como manipular essa data, colocar ela no banco de dados acho que não vai ser o problema, mas eu quero colocar na aplicação uma função “Próximos Aniversários” onde vai exibir os aniversariantes do mês por exemplo…
Com posso fazer para comparar a data atual do sistema com as datas do banco de dados e exibir esses nomes? Meu problema está na comparação das datas…

4 Respostas

E

está usando Statement/PreparedStatement ou JPA?

Se estiver usando Statement/PreparedStatement vc pode usar uma consulta SQL assim:
(código oracle, não conheço sqlite, mas não deve diferenciar muito)

select *
from pessoas
where trunc(data_aniversario, 'MONTH') = trunc(sysdate, 'MONTH')

No caso de JPA, ainda estou aprendendo como fazer com o CriteriaBuilder, não aprendi a aplicar operações nos campos, mas poderia usar nativequery e usar o mesmo código acima.

H

evefuji:
está usando Statement/PreparedStatement ou JPA?

Se estiver usando Statement/PreparedStatement vc pode usar uma consulta SQL assim:
(código oracle, não conheço sqlite, mas não deve diferenciar muito)

select *
from pessoas
where trunc(data_aniversario, 'MONTH') = trunc(sysdate, 'MONTH')

No caso de JPA, ainda estou aprendendo como fazer com o CriteriaBuilder, não aprendi a aplicar operações nos campos, mas poderia usar nativequery e usar o mesmo código acima.

Muito bom, ajudo bastante…
E como posso fazer a comparação com dois objetos Date? quero comprar só o mês

E

Objeto Java, você pode fazer:

if(data1.getMonth()==data2.getMonth())
    codigo

Ou, você pode usar a classe Calendar, que é mais robusta.

H

Boa, resolveram meus problemas, vlw

Criado 25 de agosto de 2011
Ultima resposta 25 de ago. de 2011
Respostas 4
Participantes 2