Bem, estou tentando calcular o tempo em que um evento demorou pra terminar, porém está retornando 100 horas ou +, sendo que o evento não durou dois minutos.
Código:
import java.util.concurrent.TimeUnit;
public class CooldownWhale {
public static long iniciou;
public static long terminou;
public static String getDelayString(String p) {
long time = iniciou + terminou;
return format(time);
}
public static String format(long time) {
String format = "";
long hours = TimeUnit.MILLISECONDS.toHours(time);
long hoursInMillis = TimeUnit.HOURS.toMillis(hours);
long minutes = TimeUnit.MILLISECONDS.toMinutes(time - hoursInMillis);
long minutesInMillis = TimeUnit.MINUTES.toMillis(minutes);
long seconds = TimeUnit.MILLISECONDS.toSeconds(time - (hoursInMillis + minutesInMillis));
if (hours > 0)
format = hours + (hours > 1 ? " horas" : " hora");
if (minutes > 0) {
if ((seconds > 0) && (hours > 0))
format += ", ";
else if (hours > 0)
format += " e ";
format += minutes + (minutes > 1 ? " minutos" : " minuto");
}
if (seconds > 0) {
if ((hours > 0) || (minutes > 0))
format += " e ";
format += seconds + (seconds > 1 ? " segundos" : " segundo");
}
if (format.equals("")) {
long rest = time / 100;
if (rest == 0)
rest = 1;
format = "0." + rest + " segundo";
}
return format;
}
}
Pergunta
LuizB
Bem, estou tentando calcular o tempo em que um evento demorou pra terminar, porém está retornando 100 horas ou +, sendo que o evento não durou dois minutos.
Código:

Editado por CuthmfO que leva menos de 1 minuto, retorna:
Link para o comentário
Compartilhar em outros sites
6 respostass a esta questão
Posts Recomendados