niente se fai come dici tu e poi fai

Date dataDBfinale=c2.getTime();

non funziona infatti se mi faccio stampare a video la data che ottengo vedo
Wed Jun 01 00:00:00 CEST 2005

mentre la data ottenuta con

GregorianCalendar c=new GregorianCalendar() ;
Date dataOggi=c.getTime();

ha anche i secondi, ecc

in particolare è questa parte(nel mio codice):
int giorno2=c2.get(Calendar.DAY_OF_MONTH);
int anno2=c2.get(Calendar.YEAR);
int mese2=c2.get(Calendar.MONTH);
GregorianCalendar k2=new GregorianCalendar() ;
k2.set(anno2, mese2, giorno2);

che mi lascia insoddisfatto ma d'altra parte non riesco a fare altro per avere due date confrontabili(tra laltro a me di confrontare minuti,secondi e ore non frega nulla)