Ciao sto provando a stampare la data esatta di un tempo definito in long (in questo caso sono 21 giorni cioè 1814400000).
codice:
public static void main(String[] args) {
long time = 1814400000; //21 giorni
System.out.println(getDateFormat(time));
}
private static String getDateFormat(long time) {
String pattern = "";
//Per i giorni
if ((time / (24 * 60 * 60 * 1000)) != 0) {
pattern += "dd 'Giorni' ";
}
//Per le ore
if ((time / (60 * 60 * 1000)) != 0) {
pattern += "HH 'Ore' ";
}
//Per i minuti
if ((time / (60 * 1000)) != 0) {
pattern += "mm 'Minuti' ";
}
//Per i secondi
if ((time / (1000)) != 0) {
pattern += "ss 'Secondi' ";
}
DateFormat dateFormat = new SimpleDateFormat(pattern);
return dateFormat.format(new Date(time));
}
Quando vado ad eseguire il programma invece di stamparmi 21 Giorni 00 Ore 00 Minuti 00 Secondi mi stampa 22 Giorni 01 Ore 00 Minuti 00 Secondi
Sapete dirmi il perché? grazie