Vorrei calcolare la differenza i tempo passata tra due istanti e vedere se questa differenza è maggiore di 30 giorni.
La due date vengono memorizzate tramite la funzione System.currentTimeMillis() che ritorna i millisecondi passatti dalla mezzanotte del 1 gennaio 1970 al giorno corrente.
Una volta che ho le due date ad esempio :
long data1 = Un valore memorizzato un po di tempo fa
long data2 = System.currentTimeMillis() ;
if(data2-data1<(30*24*3600*1000)){
//se sono passati piu di trenta giorni....
}
il problema è che l'operazione : 30*24*3600*1000 mi ritorna un numero negativo come se provocasse un overflow!!
ma il calcolo secondo me è giusto(30 giorni * 24 ore *3600 secondi *1000 milli sec in un sec)
Qualcono sa qual'è il problema?