Si prega di Enlight me su questo:Aggiungete anno ad calendario di Java non funziona
Sto semplicemente cercando di aggiungere 10 anni alla data di arrivo quindi sottrarre una data di scadenza da essa per restituire il numero di anni:
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;
}
Quando eseguo il debug, il calendario rimane sempre nell'anno corrente.
Chiunque?
Quale calendario? dieci_year_later o scadenza? –
@Paul Tomblin: dieci_year_later ... Io modificherò la domanda. – codea
Inoltre: un anno non è 365 giorni, deve tenere conto degli anni bisestili. Per i calcoli approssimativi, 365.25 funziona, ma per i calcoli reali è necessario qualcosa che conosca le regole ... come Calendar. – Anon