Cuidado - as datas podem ser iguaizinhas em dias, meses e anos, mas não quanto a horas, minutos e segundos.
Escreva um método que pegue um Calendar, e retorne outro que fica com a hora = 1, minuto = 0, e segundo = 0. (Uso 1 em vez de 0 para a hora, por causa dos problemas de horário de verão. Usar hora = 1 evita esses problemas.)
for (Evento ev : eventos1){
if ( ev.getDataFinal().compareTo(dataAtual) == 1) {
eventos.add(ev);
}// verdade-data final > data atual?
}
ev.getDataFinal().compareTo(dataAtual) for -1 a data final é menor que a data Atual
ev.getDataFinal().compareTo(dataAtual) for 0 a data final é igual a data Atual
ev.getDataFinal().compareTo(dataAtual) for 1 a data final é maior que a data Atual
O valor do if ( ev.getDataFinal().compareTo(dataAtual) == 1) , não sai de -1, não sei pq. O pior que tenho na base um valor q se adequa a essa comparação.
Alguém sabe pq ele n ta comparando?
[quote=thingol]Cuidado - as datas podem ser iguaizinhas em dias, meses e anos, mas não quanto a horas, minutos e segundos.
Escreva um método que pegue um Calendar, e retorne outro que fica com a hora = 1, minuto = 0, e segundo = 0. (Uso 1 em vez de 0 para a hora, por causa dos problemas de horário de verão. Usar hora = 1 evita esses problemas.)[/quote]
Pow cara… vc sumiu thingol!!
Mas então… se eu cirar um GregorianCalendar(1980,10,22) ele cria um objeto com essa data e o horario local por padrão… isso significa que se eu criar outro depois de 10 segundo com os mesmos parametros no construtor e compará-los com o compareTo() este será maior que aquele??