En ocaciones nos hemos visto en la necesidad de obtener los años transcurrido en un rango de fecha, que para este caso solo obtenemos los años y no los meses ni los días transcurridos.
Un algoritmo corto y sencillo que nos ayuda.
/**Método que calcula la edad a partir de dos fecha, retorna un entero *parametros: pNacio es la fecha en que la persona nació. *pFecha = es la fecha en la que apartir de esta fecha se quiere calcular. */ public int calcularEdad(Date pNacio,Date pFecha){ Calendar fecha = new GregorianCalendar(); fecha.setTime(pNacio); int diaNacio = fecha.get(Calendar.DATE); int mesNacio = fecha.get(Calendar.MONTH)+1; int anoNacio = fecha.get(Calendar.YEAR); fecha.setTime(pFecha); int anoFecha = fecha.get(Calendar.YEAR); int mesFecha = fecha.get(Calendar.MONTH)+1; int diaFecha = fecha.get(Calendar.DATE); int difAno = anoFecha - anoNacio; int difMes = mesFecha - mesNacio; int difDia = diaFecha - diaNacio; if(difMes <0){ difAno-=1; }else if(difMes == 0){ if(difDia < 0){ difAno-=1; } } return difAno; }
No hay comentarios:
Publicar un comentario