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

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

Barbara Streisand
發布: 2024-11-02 11:55:30
原創
396 人瀏覽過

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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板