Data aniversário dia/mes

Oi pessoal, estou com uma base de dados que me passaram com os aniversários separados por dia(uma coluna) e mes(outra coluna), e preciso fazer a exibição dos aniversariantes no período do dia de hoje, de 2 dias pra frente.

Estou meio perdido aqui em como fazê-lo, caso fosse uma data composta eu apenas iria compara-la.
Pensei em utilizar o gregoriancalendar, mas não entendo ele muito bem. Acabei fazendo um scriplet aqui, se alguém puder me ajudar eu agradeceria:

[code]<%
{
ResultSet rs = null;
int dia, mes, dia_2, mes_2, dia_3, mes_3;
String sql;
Calendar c = new GregorianCalendar();
dia = c.get(Calendar.DAY_OF_MONTH);
mes = c.get(Calendar.MONTH);
mes++;
c.add(Calendar.DAY_OF_MONTH, 1);
dia_2 = c.get(Calendar.DAY_OF_MONTH);
mes_2 = c.get(Calendar.MONTH);
mes_2++;
c.add(Calendar.DAY_OF_MONTH, 1);
dia_3 = c.get(Calendar.DAY_OF_MONTH);
mes_3 = c.get(Calendar.MONTH);a
mes_3++;

sql = “SELECT Matricula, Nome_guerra, Ramal, Aniv_dia, Aniv_mes, Dependencia”
+ " FROM db2func.funcionarios"
+ " WHERE (((Aniv_mes = " + mes + ") AND (Aniv_dia = " + dia + “))”
+ " OR ((Aniv_mes = " + mes_2 + ") AND (Aniv_dia = " + dia_2 + “))”
+ " OR ((Aniv_mes = " + mes_3 + “) AND (Aniv_dia = " + dia_3 + “)))”
+ " ORDER BY Aniv_mes, Aniv_dia, Nome_guerra”;
rs = BD.recordSet(sql);

if (rs != null) { %>
Feliz Aniversário

<% while (rs.next()) { if (rs.getString("Nome_guerra").trim() != "") { %> <% } } rs.close(); %>
<% if (rs.getInt("Aniv_dia") == dia) { %> Hoje <% } else { %> <%= rs.getInt("Aniv_dia") + "/" + rs.getInt("Aniv_mes") %> <% } %> "><%= rs.getString("Nome_guerra") %> <% String depe = rs.getString("Dependencia"); if (depe.indexOf("-") != -1){ if (!"DF".equals(depe.substring(depe.length() - 2))) { %> <%= "-" + depe.substring(depe.length() - 2) %> <% } }else{ %> <%= "-" + depe.substring(depe.length() - 3) %> <% } %>

<% } } %>[/code]

Sugiro você trabalhar com datas. Converte primeiro, depois você compara.

Segue uma funcão para conversão:

public Date converterStringToDate(String dia, String mes, String ano) { SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy"); try { return sdf.parse(dia + "/" mes + "/" ano); } catch (ParseException e) { e.printStackTrace(); return null; } }

não tem ano, somente dia e mês, estou pensando em colocar o ano corrente para que ele faça a comparação.

pronto, consegui aqui, era mais simples ainda:

[code]public static void main(String[] args) {

	Date hoje = new Date();
	
	String formato = "dd/MM";
	SimpleDateFormat faz = new SimpleDateFormat(formato);
	
	Calendar cal = Calendar.getInstance();  
	cal.setTime(hoje);  
	cal.add(Calendar.DATE, 50); //teste com adição de 50 datas
	hoje = cal.getTime();  
	String fazHoje = faz.format(hoje);
	
	
	System.out.println(fazHoje);
}[/code]

[quote=andre.froes]pronto, consegui aqui, era mais simples ainda:

[code]public static void main(String[] args) {

	Date hoje = new Date();
	
	String formato = "dd/MM";
	SimpleDateFormat faz = new SimpleDateFormat(formato);
	
	Calendar cal = Calendar.getInstance();  
	cal.setTime(hoje);  
	cal.add(Calendar.DATE, 50); //teste com adição de 50 datas
	hoje = cal.getTime();  
	String fazHoje = faz.format(hoje);
	
	
	System.out.println(fazHoje);
}[/code]

[/quote]

Fio, nao esquece de editar o topico e colocar a tag [RESOLVIDO] :slight_smile:

abraço