Ciao, ho trovato la soluzione al mio problema! Era semplicissimo, in pratica ho calcolato il tempo in long con il metodo getDateFormat() e sommandolo con il tempo attuale mi sono ricavato la data (in questo caso tra 21 giorni) in long.
codice:
public static void main(String[] args) {
int[] times = new int[]{21,0,0,0}; // Giorni, Ore, Minuti, Secondi
//Calcolo del tempo
long time = getDateFormat(times);
long nowTime = System.currentTimeMillis();
long expiryTime = time + nowTime; //Somma del tempo ricavato con il tempo attuale
System.out.println(time); //Stampa 1814400000
System.out.println(nowTime); //Stampa 1462197016777
System.out.println(expiryTime);//Stampa 1464011416777 cioè la somma tra i due
}
private static long getDateFormat(int[] times) {
int n = 0;
long time = (long)(times[n++] * (24 * 60 * 60 * 1000)); //Calcolo per i giorni
time += (long)(times[n++] * (60 * 60 * 1000)); //* per le ore
time += (long)(times[n++] * (60 * 1000));//* per i minuti
time += (long)(times[n++] * (1000));//* per i secondi
return time;
}