Javaaprile 30th, 2009dinox
Quello delle date i JAVA è un problema abbastanza intricato da venirne facilmente fuori. Ecco dunque, per la serie ‘funzioni che possono sempre servire’, un modo per calcolare il numero di ore fra due date e tornarle con una stringa formattata:
/**
* Calcula il numero di ore fra due date.
*
* @param d1Â Â Â La prima data.
* @param d2Â Â Â La seconda data.
*
* @return Numero di ore fra le due date in una stringa formattata hh:mm:ss.
*/
public static String getOreFraDate (java.util.Date d1, java.util.Date d2) {
// scambia le date se ce ne fosse la necessitÃ
if (d1.after(d2)) {
Date swap = d1;
d1 = d2;
d2 = swap;
}
double tempoTotale = d2.getTime() - d1.getTime();
int h = (int)(tempoTotale / (1000 * 60 * 60));
tempoTotale = tempoTotale - (h * 1000 * 60 * 60);
int m = (int)(tempoTotale / (1000 * 60));
tempoTotale = tempoTotale - (m * 1000 * 60);
int s = (int)(tempoTotale / (1000));
return h + ":" + m + ":" + s;
}
calendar, date