J'utilise la classe TimeStamp pour convertir les secondes en jour, heures, minutes, secondes. J'ai utilisé le code suivant
public static void calculateTime(long seconds) {
int day = (int)TimeUnit.SECONDS.toDays(seconds);
long hours = TimeUnit.SECONDS.toHours(seconds) - TimeUnit.SECONDS.toHours(TimeUnit.SECONDS.toDays(seconds));
long minute = TimeUnit.SECONDS.toMinutes(seconds) - TimeUnit.SECONDS.toMinutes(TimeUnit.SECONDS.toHours(seconds));
long second = TimeUnit.SECONDS.toSeconds(seconds) - TimeUnit.SECONDS.toSeconds(TimeUnit.SECONDS.toMinutes(seconds));
System.out.println("Day " + day + " Hour " + hours + " Minute " + minute + " Seconds " + second);
}
Mais je n'obtiens pas le bon résultat. Par exemple, lorsque j'ai appelé cette méthode en calculateTime(3600)
elle me donne le résultat en Day 0 Hour 1 Minute 60 Seconds 3540
au lieu de Day 0 Hour 1 Minute 0 Seconds 0
.
Quel est le problème avec ma logique? Aidez-moi, s'il vous plaît.