Calcular edad de una persona en java

Método para calcular la edad de una persona. Espero que os sirva.

public static String getEdad(Date fechaNacimiento) {
		if (fechaNacimiento != null) {
			SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
			StringBuilder result = new StringBuilder();
			if (fechaNacimiento != null) {
				result.append(sdf.format(fechaNacimiento));
				result.append(" (");
				Calendar c = new GregorianCalendar();
				c.setTime(fechaNacimiento);
				result.append(calcularEdad(c));
				result.append(" años)");
			}
			return result.toString();
		}
		return "";
	}
	
private static int calcularEdad(Calendar fechaNac) {
		Calendar today = Calendar.getInstance();
		int diffYear = today.get(Calendar.YEAR) - fechaNac.get(Calendar.YEAR);
		int diffMonth = today.get(Calendar.MONTH) - fechaNac.get(Calendar.MONTH);
		int diffDay = today.get(Calendar.DAY_OF_MONTH) - fechaNac.get(Calendar.DAY_OF_MONTH);
		// Si está en ese año pero todavía no los ha cumplido
		if (diffMonth < 0 || (diffMonth == 0 && diffDay < 0)) {
			diffYear = diffYear - 1; // no aparecían los dos guiones del
										// postincremento 😐
		}
		return diffYear;
}

 

Esta entrada fue publicada en JAVA. Guarda el enlace permanente.

Una respuesta a Calcular edad de una persona en java

  1. roxana dijo:

    me gustaria saber como calcular o saber la fecha de nacimiento pero con la fecha actual : entonces la respuesta sea dia mes año
    ejemplo logica
    06/05/2015
    06/08/2015
    y como respuesta en el sistema debe salir:en años… meses…. dias…
    ayudenme

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *