Java non ha nulla di pre-confezionato per effettuare questa operazione. Quindi hai due scelte:
1) Farla a mano (non è complicato)
2) Usare una libreria di terze parti (come Joda Time), che ha già incorporato tutto il necessario.
Soluzione 1:
codice:private static long differenza(Date d1, Date d2) { return (d1.getTime() - d2.getTime()) / 86400000L; }
Il metodo (statico) si aspetta come primo parametro la data più recente e come secondo parametro la data più vecchia. Se vengono passate in ordine inverso, chiaramente, il risultato sarà negativo.
A te documentarti sulla classe java.util.Date e capire cosa faccia in soldoni quell'espressione matematica.
Ciao.![]()



Rispondi quotando