Troppo complicato. L'ho detto, basta usare divisione e modulo (che non hai usato) ma sopratutto usarli bene.Originariamente inviato da marasma1
Innanzitutto grazie per la risposta.Ho modificato il mio script cosi:
int ore = (int)(differenza/3600000); //60*60*1000
int oreInMill = ore * 3600000;
differenza = differenza - oreInMill;
int min = (int)(differenza/60000);
int minutiInMill = min * 60000;
differenza = differenza - minutiInMill;
int sec = (int)(differenza/60);
Che tra l'altro è pure semplice, pulito e comprensibile.codice:int secondi = (int) (differenza / 1000 % 60); int minuti = (int) (differenza / 60000 % 60); int ore = (int) (differenza / 3600000);
Sì certo, usando un DateFormat o SimpleDateFormat e impostandogli il timezone UTC.Originariamente inviato da marasma1
non si potrebbe impostare a monte il TimeZone di tutti i GregorianCalendar e poi far stampare la data dal toString?.
Ma il risultato avrebbe "senso" solo se la differenza non supera 1 mese. In pratica stamperesti quello che è il tempo nel mese del Gennaio 1970 ... dopodiché, superato, non avrebbe più senso.


Rispondi quotando