Calcular edad

Manejos de Fechas http://java.sun.com/j2se/1.4.2/docs/api/java/util/GregorianCalendar.html


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: