如何將毫秒轉換為「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中文網其他相關文章!