30
apr

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;
}

,

Add reply