Heim >Java >javaLernprogramm >Wie konvertiere ich Millisekunden in das Format „hh:mm:ss' in Java?
So konvertieren Sie Millisekunden in „hh:mm:ss“ Format: Aufgelöst
Millisekunden in „hh:mm:ss“ konvertieren Das Format kann schwierig sein, aber die TimeUnit-API von Java bietet eine praktische Möglichkeit, dies zu tun. Nachdem wir auf einen falschen Versuch aus einem anderen Thread gestoßen sind, wollen wir nun herausfinden, wie wir diese Konvertierung richtig angehen können.
Anfangs bestand der falsche Ansatz darin, die Zeile zu verwenden:
TimeUnit.MILLISECONDS.toMinutes(millis) - TimeUnit.MINUTES.toMinutes(TimeUnit.MILLISECONDS.toHours(millis))
Diese Berechnung war jedoch fehlerhaft Stunden in Millisekunden umgerechnet, wobei Minuten statt Stunden verwendet wurden. Die richtige Logik lautet:
TimeUnit.MILLISECONDS.toMinutes(millis) - TimeUnit.HOURS.toMinutes(TimeUnit.MILLISECONDS.toHours(millis))
Hier ist ein korrigierter Codeausschnitt:
String.format("%02d:%02d:%02d", TimeUnit.MILLISECONDS.toHours(millis), TimeUnit.MILLISECONDS.toMinutes(millis) - TimeUnit.HOURS.toMinutes(TimeUnit.MILLISECONDS.toHours(millis)), // Corrected line TimeUnit.MILLISECONDS.toSeconds(millis) - TimeUnit.MINUTES.toSeconds(TimeUnit.MILLISECONDS.toMinutes(millis)));
Diese Änderung stellt sicher, dass Stunden korrekt in die richtige Zeiteinheit umgewandelt werden.
Außerdem , kann der Code durch Moduldivision statt Subtraktion vereinfacht werden:
String hms = String.format("%02d:%02d:%02d", TimeUnit.MILLISECONDS.toHours(millis), TimeUnit.MILLISECONDS.toMinutes(millis) % TimeUnit.HOURS.toMinutes(1), TimeUnit.MILLISECONDS.toSeconds(millis) % TimeUnit.MINUTES.toSeconds(1));
Beide Ansätze nutzen die TimeUnit-API und bieten eine präzise „hh:mm:ss“-Formatierung für Millisekunden.
Das obige ist der detaillierte Inhalt vonWie konvertiere ich Millisekunden in das Format „hh:mm:ss' in Java?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!