Here you can find the source of calculaIdadeEmAnos(Date dDataNasc, Date dataRef)
Parameter | Description |
---|---|
dDataNasc | - Data de Nascimento |
dataRef | - Data de referencia para calculo da idade. |
public static Integer calculaIdadeEmAnos(Date dDataNasc, Date dataRef)
//package com.java2s; //License from project: Open Source License import java.util.Calendar; import java.util.Date; public class Main { /**/*from ww w . jav a2s .co m*/ * Faz o calculo da idade com base na data passada como parametro e a data de referencia. retorna apenas os anos retorna um numero representando a quantidade de anos. * * @param dDataNasc * - Data de Nascimento * @param dataRef * - Data de referencia para calculo da idade. * @return */ public static Integer calculaIdadeEmAnos(Date dDataNasc, Date dataRef) { if (dDataNasc == null) { return new Integer(0); } if (dataRef == null) { return new Integer(0); } int anoResult = 0; int anoHoje = getYear(dataRef); int anoDataParm = getYear(dDataNasc); int mesHoje = getMonth(dataRef); int mesDataParm = getMonth(dDataNasc); int diaHoje = getDay(dataRef); int diaDataParm = getDay(dDataNasc); anoResult = anoHoje - anoDataParm; if ((mesHoje < mesDataParm) || ((mesHoje == mesDataParm) && (diaHoje < diaDataParm))) { anoResult = anoResult - 1; } if (anoResult > 0) { if (anoResult == 1) { return new Integer(1); } else { return new Integer(anoResult); } } return new Integer(0); } /** * Faz o calculo da idade com base na data passada como parametro. retorna apenas os anos retorna um numero representando a quantidade de anos. * * @param dDataNasc * @return */ public static Integer calculaIdadeEmAnos(Date dDataNasc) { if (dDataNasc == null) { return new Integer(0); } Calendar hoje = Calendar.getInstance(); Date now = hoje.getTime(); return calculaIdadeEmAnos(dDataNasc, now); } /** * Pega o ano de uma data * * @param data * @return */ public static int getYear(Date data) { Calendar c = Calendar.getInstance(); c.setTime(data); return c.get(Calendar.YEAR); } /** * Pega o mes de uma data * * @param data * @return */ public static int getMonth(Date data) { Calendar c = Calendar.getInstance(); c.setTime(data); return c.get(Calendar.MONTH) + 1; } /** * Pega o dia de uma data * * @param data * @return */ public static int getDay(Date data) { Calendar c = Calendar.getInstance(); c.setTime(data); return c.get(Calendar.DAY_OF_MONTH); } }