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?
Ich blick da zwar durch, aber ohne die Doc darüber hats bis jetzt nur einer verstanden, der sich die Methode angeguckt hat :P
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;
}