Die funktioniert zwar tadellos, schaut aber ein wenig kompliziert aus^^ (Ja, ich hab die selber gebaut) Bzw wenig unleserlich, was da genau abgeht. Hat jemand nen Vorschlag, wie man das vereinfachen könnte?
Code:
/**
* It formats a specified Time in milliseconds to Format HH:MM:SS
*
* @param milliseconds Time in Milliseconds which have to get formatted
* @return Returns the Milliseconds in Format HH:MM:SS
*/
public String getFileTimeFormatted(long milliseconds) {
long time = milliseconds;
long minutenZehner = 0;
long minutenEiner;
long sekundenZehner = 0;
long sekundenEiner;
long stunden, minuten, sekunden;
String gesamtLänge;
sekunden = TimeUnit.MILLISECONDS.toSeconds(time);
minuten = TimeUnit.MILLISECONDS.toMinutes(time);
stunden = TimeUnit.MILLISECONDS.toHours(time);
sekundenEiner = sekunden;
while (sekundenEiner >= 10) {
sekundenZehner = (sekundenEiner / 10);
sekundenEiner = (sekunden - (sekundenZehner * 10));
}
minutenEiner = minuten;
while (minutenEiner >= 10) {
minutenZehner = (minutenEiner / 10);
minutenEiner = (minuten - (minutenZehner * 10));
}
while (minutenZehner >= 6) {
minutenZehner -= 6;
}
while (sekundenZehner >= 6) {
if (minutenEiner > 0) {
sekundenZehner = sekundenZehner - minutenEiner * 6;
if (sekundenZehner < 0) {
sekundenZehner = 0;
}
} else {
sekundenZehner = 0;
}
}
if (stunden > 0) {
gesamtLänge = stunden + ":" + minutenZehner + minutenEiner + ":" + sekundenZehner + sekundenEiner;
} else if (minutenZehner == 0 && stunden <= 0) {
gesamtLänge = "0" + minutenEiner + ":" + sekundenZehner + sekundenEiner;
} else {
gesamtLänge = minutenZehner + minutenEiner + ":" + sekundenZehner + sekundenEiner;
}
return gesamtLänge;
}
Ich blick da zwar durch, aber ohne die Doc darüber hats bis jetzt nur einer verstanden, der sich die Methode angeguckt hat :P