Ayuda!! soy basico :S
alguiem me podria decir como poder calcular la diferencia en años entre dos fechas q el usuario introduce?.. quiero q este calculo se haga con una funcion creeada por uno mismo y no con las clases`predefinidas... las funciones q pueden estar adentro son las de if-else- while, con boolean... o si no que alguien me pueda explicar detalladamente q tengo q hacer para calcular su diferencia... gracias de antemano
Suponiendo que no quieres utilizar las clases predefinidas en Java para las fechas, aquà tienes un ejemplo de como hacerlo si las fechas introducidas por el usuario se almacenan en variables String con el formato dd/mm/aaaa.
public int diferenciaAnyos(String fechaA, String fechaB)
{
int anyoA = Integer.parseInt(fechaA.substring(fechaA.lastIndexOf("/")+1, fechaA.length()));
int anyoB = Integer.parseInt(fechaB.substring(fechaA.lastIndexOf("/")+1, fechaA.length()));
return anyoA - anyoB;
}
Espero que esto te sea útil, sino concreta un poco más que es lo que quieres y lo intentamos otra vez.
Saludos
public int diferenciaAnyos(String fechaA, String fechaB)
{
int anyoA = Integer.parseInt(fechaA.substring(fechaA.lastIndexOf("/")+1, fechaA.length()));
int anyoB = Integer.parseInt(fechaB.substring(fechaA.lastIndexOf("/")+1, fechaA.length()));
return anyoA - anyoB;
}
Espero que esto te sea útil, sino concreta un poco más que es lo que quieres y lo intentamos otra vez.
Saludos
pos gracias por tu ayuda... pero no me sirve... lo q necesito es saber la fecha con metodos a traves de de if-else o de while :S.... no se si eso sera posible :S
public static String getEdad(String fechaNacimiento) {
StringTokenizer st = new StringTokenizer(fechaNacimiento,"/");
Date d = new Date();
Integer.parseInt(st.nextToken());
int mes = Integer.parseInt(st.nextToken());
int anho = Integer.parseInt(st.nextToken());
int anhos = (d.getYear()+1900) - anho;
--anhos;
if(mes<d.getMonth() + 1)
anhos++;
return Integer.toString(anhos) + " AÑOS";
}
este pedazo lo que hace es que compara contra un string que se saca de un objeto Date y ahi hace el calculo. no es muy preciso pero funciona
StringTokenizer st = new StringTokenizer(fechaNacimiento,"/");
Date d = new Date();
Integer.parseInt(st.nextToken());
int mes = Integer.parseInt(st.nextToken());
int anho = Integer.parseInt(st.nextToken());
int anhos = (d.getYear()+1900) - anho;
--anhos;
if(mes<d.getMonth() + 1)
anhos++;
return Integer.toString(anhos) + " AÑOS";
}
este pedazo lo que hace es que compara contra un string que se saca de un objeto Date y ahi hace el calculo. no es muy preciso pero funciona