ホームページ >Java >&#&チュートリアル >Java でミリ秒を「hh:mm:ss」形式に変換するにはどうすればよいですか?
ミリ秒を "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 中国語 Web サイトの他の関連記事を参照してください。