Por favor EnLight en esto:Agregar a Java año calendario no funciona
Simplemente estoy tratando de añadir 10 años a la fecha actual y luego restar una fecha de caducidad de la misma para devolver el número de años:
public int getMaxYears() {
int max = 0;
Calendar ten_year_later = Calendar.getInstance();
ten_year_later.setTime(new Date());
ten_year_later.add(Calendar.YEAR, 10);
Calendar expiration = Calendar.getInstance();
expiration.setTime(expiration_date);
max = (int) (ten_year_later.getTimeInMillis() - expiration.getTimeInMillis())/(365 * 24 * 60 * 60 * 1000);
return max;
}
Cuando depuro esto, el calendario siempre permanece en el año actual.
¿Alguien?
¿Qué calendario? ¿diez_year_later o vencimiento? –
@Paul Tomblin: ten_year_later ... Editaré la pregunta. – codea
También: un año no es 365 días, tiene que representar los años bisiestos. Para cálculos aproximados, 365.25 funciona, pero para cálculos reales necesita algo que conozca las reglas ... como Calendar. – Anon