che funzione e' currentDate() ???

io cmq ti consiglio di controllare bene i formati. Sai che puoi avere il formato timestamp , date e dateTime UNIX, formato GMT etc....

Dipende come hai salvato i dati sul db.
Da canto mio salverei su db la timestamp e poi mi farei dare la ts attuale quindi fai

gap = 7*24*60*60;
// giorni*ore*minuti*secondi = valore in secondi di 7 giorni.
// le timestamp sono dei long int che rappresentano i sec per cui sei apposto.
// cosi' puoi controllare fino al secondo.

if ( (ts_ora - ts_reg) > gap )
/*e' passato troppo tempo */
else
/* il periodo e' ancora valido */