ホームページ  >  記事  >  Java  >  Java でミリ秒を「hh:mm:ss」形式に変換するにはどうすればよいですか?

Java でミリ秒を「hh:mm:ss」形式に変換するにはどうすればよいですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-11-02 11:55:30275ブラウズ

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 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。