Boa tarde galera, tudo certo?? Bem, na minha aplicação estou fazendo um filtro dos aniversariantes de cada mês. Porém, quero desconsiderar o ANO no filtro e não estou conseguindo…Abaixo o xhtml:
private String mes = "";
private Date dataInicial;
private Date dataFinal;
private Map<String, Object> montaParametros() {
Map<String, Object> p = new HashMap<String, Object>();
if (mes.equals("Novembro")) { // Utilizei esse mes pois tenho alguns registros no banco dele...
dataInicial = DateUtil.newDate("01/11/1973 00:00:00");
dataFinal = DateUtil.newDate("30/11/1973 00:00:00");
}
return p;
}
Se alguém puder ajudar e dar uma idéia de como posso fazer para desconsiderar o ano nesse filtro… Agradeceria mto… Vlw…
Olá Ricardo,
A dúvida que já tive nestes casos seria o tipo de filtro a se utilizar, tendo em vista a forma utilizada para fazer a consulta ao banco.
Para facilitar você pode utilizar somente o mês como filtro(sem dataInicial e dataFinal) por exemplo…
[quote=rjbn_]Olá Ricardo,
A dúvida que já tive nestes casos seria o tipo de filtro a se utilizar, tendo em vista a forma utilizada para fazer a consulta ao banco.
Para facilitar você pode utilizar somente o mês como filtro(sem dataInicial e dataFinal) por exemplo…
Utiliza Hibernate ou JDBC?[/quote]
Olá rjbn_…
Bem, desse jeito está funcionando , porém não estou conseguindo passar SOMENTE O DIA E O MES… No meu DateUtil tenho o seguinte:
public static Date newDate(String data) {
try {
return new SimpleDateFormat("dd/MM/yyyy").parse(data);
} catch (ParseException ex) {
throw new RuntimeException("Erro ao criar a data.", ex);
}
}
public static String dataHoraFormatada(Date d) {
return new SimpleDateFormat("dd/MM/yyyy HH:mm:ss").format(d);
}
public static String dataFormatada(Date d) {
return new SimpleDateFormat("dd/MM/yyyy").format(d);
}
Tentei passar sem o yyyy mas não estou conseguindoo… Uso as duas coisas que vc pediu…Alguma ideia de como posso “desconsiderar” o ANO ?? Vlw por estar ajudando…Abc…
Então, perguntei a forma que você está acessando o banco porque estava pensando algo parecido com:
SELECT p FROM people p WHERE DATEPART(MM, p.birthDay) = yourMounthFilter
Retornando todas as pessoas que tem o mês em questão cadastrado como data de nascimento.
[quote=rjbn_]Então, perguntei a forma que você está acessando o banco porque estava pensando algo parecido com:
SELECT p FROM people p WHERE DATEPART(MM, p.birthDay) = yourMounthFilter
Retornando todas as pessoas que tem o mês em questão cadastrado como data de nascimento.[/quote]
Bom dia. Bem, estou fazendo uma lista de alunos e aprtir dela pego a dta de nascimento…Abaixo como estou tentando fazer agg:
public void teste() {
ArrayList<Matricula> matriculaAlunos = new ArrayList();
matriculaAlunos = (ArrayList<Matricula>) crudService.findAll(Matricula.class);
int mesAtual = 10;
for (Iterator<Matricula> it = matriculaAlunos.iterator(); it.hasNext();) {
Matricula matricula = it.next();
Calendar calAniver = new GregorianCalendar();
calAniver.setTime(matricula.getAluno().getDataNascimento());
if (calAniver.get(Calendar.MONTH) == mesAtual) {
System.err.println(calAniver.getTime());
}
}
}
E chamo o método no meu setup…Porém, por enquanto não estou tendo mtoo sucesso pra exibir…Se puder ajudar agradeço…
Obs( a lista de matricula é em Lazy e não estou conseguindo passar no Iterator…)
VocÊ e/ou alguém mais poderiam dar uma ajuda aí???
Se puder ajudar…agradeceria mto…Vlw…