Calcular diferencia entre dos fechas
Publicado por Luis (83 intervenciones) el 28/12/2009 23:11:34
Lo que me pregunto es si se puede saber cuanto tiempo o cual es la diferencia en años, meses y dias entre una fecha y otra.
Por ejemplo tengo dos fechas:
1. 12/10/2001
2. 12/12/2009
Existe alguna forma en que yo pueda saber que la diferencia entre esas dos fechas es de 8 años y dos meses.
Yo lo he estado haciendo de la siguiente forma aunque todavia no completo todas validaciones que tendria que hacer para lograrlo de esta forma.
Date fechaDeHoy = new Date();
SimpleDateFormat formato = new SimpleDateFormat("dd/MM/yyyy");
String fecha = formato.format(fechaDeHoy);
String[] fechaHoy = fecha.split("/");
Integer diaHoy = Integer.parseInt(fechaHoy[0]);
Integer mesHoy = Integer.parseInt(fechaHoy[1]);
Integer anioHoy = Integer.parseInt(fechaHoy[2]);
String fechaAnterior = "12/10/2001"
String[] fechaAnt = fechaAnterior.split("/");
Integer diaAnt = Integer.parseInt(fechaAnt[0]);
Integer mesAnt = Integer.parseInt(fechaAnt[1]);
Integer anioAnt = Integer.parseInt(fechaAnt[2]);
if(anioAnt == anioHoy){
if(mesAnt == mesHoy){
if(diaAnt == diaHoy){
System.out.println("las fechas son iguales");
}else if(diaHoy > diaAnt){
System.out.println("La diferencia entre ambas fechas es de " + diaHoy - diaAnt + " dias");
}
}
}
Y asi con todas las demas posibilidades que no las he hecho aun.
Lo que me pregunto es si hay alguna forma de resolver este problema de forma mas sencilla que preguntando por todas las posibilidades.
Por ejemplo tengo dos fechas:
1. 12/10/2001
2. 12/12/2009
Existe alguna forma en que yo pueda saber que la diferencia entre esas dos fechas es de 8 años y dos meses.
Yo lo he estado haciendo de la siguiente forma aunque todavia no completo todas validaciones que tendria que hacer para lograrlo de esta forma.
Date fechaDeHoy = new Date();
SimpleDateFormat formato = new SimpleDateFormat("dd/MM/yyyy");
String fecha = formato.format(fechaDeHoy);
String[] fechaHoy = fecha.split("/");
Integer diaHoy = Integer.parseInt(fechaHoy[0]);
Integer mesHoy = Integer.parseInt(fechaHoy[1]);
Integer anioHoy = Integer.parseInt(fechaHoy[2]);
String fechaAnterior = "12/10/2001"
String[] fechaAnt = fechaAnterior.split("/");
Integer diaAnt = Integer.parseInt(fechaAnt[0]);
Integer mesAnt = Integer.parseInt(fechaAnt[1]);
Integer anioAnt = Integer.parseInt(fechaAnt[2]);
if(anioAnt == anioHoy){
if(mesAnt == mesHoy){
if(diaAnt == diaHoy){
System.out.println("las fechas son iguales");
}else if(diaHoy > diaAnt){
System.out.println("La diferencia entre ambas fechas es de " + diaHoy - diaAnt + " dias");
}
}
}
Y asi con todas las demas posibilidades que no las he hecho aun.
Lo que me pregunto es si hay alguna forma de resolver este problema de forma mas sencilla que preguntando por todas las posibilidades.
Valora esta pregunta


0