Ciao sto provando a stampare la data esatta di un tempo definito in long (in questo caso sono 21 giorni cioè 1814400000).
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 Secondicodice: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)); }
Sapete dirmi il perché? grazie![]()

Rispondi quotando