JAVA – Calcolo maggiore età partendo dalla data di nascita rispetto una data generica

Questo metodo illustra come calcolare se una data di nascita è nella maggiore età.

Serve nei casi è necessario capire se un utente è maggiorenne o meno in un determinato giorno (dataGenerica)

public Boolean isMaggiorenne(Date dataGenerica) {
Boolean isMagg = false;
if (dataGenerica != null && dataNascita != null) {

GregorianCalendar dataDiNascita = new GregorianCalendar();
dataDiNascita.setTime(dataNascita);

GregorianCalendar dataMagg = new GregorianCalendar();
dataMagg.setTime(dataGenerica);

int anno = dataMagg.get(GregorianCalendar.YEAR) – dataDiNascita.get(GregorianCalendar.YEAR);
int mese = dataMagg.get(GregorianCalendar.MONTH) – dataDiNascita.get(GregorianCalendar.MONTH);
int giorno = dataMagg.get(GregorianCalendar.DAY_OF_MONTH) – dataDiNascita.get(GregorianCalendar.DAY_OF_MONTH);

isMagg = anno>18 || (anno==18 && (mese>0 || (mese==0 && giorno>=0))) ;
}
return isMagg;
}