首頁  >  文章  >  Java  >  如何在 Java 中將毫秒轉換為「hh:mm:ss」格式?

如何在 Java 中將毫秒轉換為「hh:mm:ss」格式?

Barbara Streisand
Barbara Streisand原創
2024-11-02 11:55:30279瀏覽

How do I Convert Milliseconds to

如何將毫秒轉換為「hh:mm:ss」格式:已解決

將毫秒轉換為「hh:mm:ss 「格式可能很棘手,但Java 的TimeUnit API 提供了一種便捷的方法來做到這一點。在偶然發現另一個線程的錯誤嘗試後,讓我們探索處理此轉換的正確方法。

最初,錯誤的方法涉及使用以下行:

TimeUnit.MILLISECONDS.toMinutes(millis) - TimeUnit.MINUTES.toMinutes(TimeUnit.MILLISECONDS.toHours(millis))

但是,此計算錯誤使用分鐘而不是小時將小時轉換為毫秒。正確的邏輯是:

TimeUnit.MILLISECONDS.toMinutes(millis) - TimeUnit.HOURS.toMinutes(TimeUnit.MILLISECONDS.toHours(millis))

這是更正的程式碼片段:

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)));   

此修改可確保使用正確的時間單位正確轉換小時。

此外,可以使用模除法而不是減法來簡化程式碼:

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));

兩種方法都利用 TimeUnit API 並提供精確的毫秒「hh:mm:ss」格式。

以上是如何在 Java 中將毫秒轉換為「hh:mm:ss」格式?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn