primero cree una clase llamada restar_fecha y allí colocaran el siguiente código:
public class restar_fechas {
public void restar_fecha() {
String fechaInicio = "22/04/1988";
String fechaActual = "09/04/2015";
Date date = new Date();
DateFormat df = DateFormat.getDateInstance(DateFormat.MEDIUM);
fechaActual = df.format(date);
String[] aFechaIng = fechaInicio.split("/");
Integer diaInicio = Integer.parseInt(aFechaIng[0]);
Integer mesInicio = Integer.parseInt(aFechaIng[1]);
Integer anioInicio = Integer.parseInt(aFechaIng[2]);
String[] aFecha = fechaActual.split("/");
Integer diaActual = Integer.parseInt(aFecha[0]);
Integer mesActual = Integer.parseInt(aFecha[1]);
Integer anioActual = Integer.parseInt(aFecha[2]);
System.out.println(diaActual);
System.out.println(mesActual);
System.out.println(anioActual);
int b = 0;
int dias = 0;
int mes = 0;
int anios = 0;
int meses = 0;
mes = mesInicio - 1;
if (mes == 2) {
if ((anioActual % 4 == 0) && ((anioActual % 100 != 0) || (anioActual % 400 == 0))) {
b = 29;
} else {
b = 28;
}
} else if (mes <= 7) {
if (mes == 0) {
b = 31;
} else if (mes % 2 == 0) {
b = 30;
} else {
b = 31;
}
} else if (mes > 7) {
if (mes % 2 == 0) {
b = 31;
} else {
b = 30;
}
}
if ((anioInicio > anioActual) || (anioInicio == anioActual && mesInicio > mesActual)
|| (anioInicio == anioActual && mesInicio == mesActual && diaInicio > diaActual)) {
System.out.println("La fecha de inicio debe ser anterior a la fecha Actual");
} else {
if (mesInicio <= mesActual) {
anios = anioActual - anioInicio;
if (diaInicio <= diaActual) {
meses = mesActual - mesInicio;
dias = b - (diaInicio - diaActual);
} else {
if (mesActual == mesInicio) {
anios = anios - 1;
}
meses = (mesActual - mesInicio - 1 + 12) % 12;
dias = b - (diaInicio - diaActual);
}
} else {
anios = anioActual - anioInicio - 1;
System.out.println(anios);
if (diaInicio > diaActual) {
meses = mesActual - mesInicio - 1 + 12;
dias = b - (diaInicio - diaActual);
} else {
meses = mesActual - mesInicio + 12;
dias = diaActual - diaInicio;
}
}
}
System.out.println("Años: " + anios);
System.out.println("Meses: " + meses);
System.out.println("Días: " + dias);
}
public static void main(String[] args) {
new restar_fechas().restar_fecha();
}
}
si miran el codigo estoy tomando la fecha del sistema si quieren que no tome la fecha del sistema borren la parte roja fechaActual = df.format(date); y pon la fecha que quieras en la parte azul esta la fecha inicial y la fecha Actual :)
0 Comments