ホームページ > Java > &#&チュートリアル > Java で日付と時刻の違いを正確に計算するにはどうすればよいですか?

Java で日付と時刻の違いを正確に計算するにはどうすればよいですか?

Barbara Streisand
リリース: 2024-12-16 03:19:15
オリジナル
659 人が閲覧しました

How to Accurately Calculate Date and Time Differences in Java?

Java での日付と時刻の差の計算

このコード スニペットの目的は、指定された 2 つの日付間の時差を決定することです。時、分、秒。ただし、提供されたコードは間違った結果を生成するようです。問題を調べて、より正確な解決策を提供しましょう。

このコードは、2 つの日付 (d1 と d2) で表されるミリ秒を減算して時差を計算します。このアプローチは一般に正しいですが、後続の分と時間の計算で問題が発生します。

ミリ秒を分に変換するとき、コードは誤って TimeUnit.MILLISECONDS.toMinutes の代わりに / を使用します。同様に、時間の場合は、TimeUnit.MILLISECONDS.toHours の代わりに / を使用します。これらの操作により計算が正しく行われず、出力に不一致が見られます。

この問題を修正するには、異なる時刻の間で変換するための便利なメソッドを提供する java.util.concurrent.TimeUnit クラスを利用できます。単位。修正されたコード スニペットは次のとおりです。

...
// Calculate time difference in milliseconds
long diff = d2.getTime() - d1.getTime();

// Convert to seconds, minutes, and hours using TimeUnit
long seconds = TimeUnit.MILLISECONDS.toSeconds(diff);
long minutes = TimeUnit.MILLISECONDS.toMinutes(diff);
long hours = TimeUnit.MILLISECONDS.toHours(diff);

System.out.println("Time in seconds: " + seconds + " seconds.");
System.out.println("Time in minutes: " + minutes + " minutes.");
System.out.println("Time in hours: " + hours + " hours.");
...
ログイン後にコピー

この修正されたコードを使用すると、期待どおりの結果が得られます。

Time in seconds: 225 seconds.
Time in minutes: 3 minutes.
Time in hours: 0 hours.
ログイン後にコピー

TimeUnit を使用して適切な変換を組み込むことにより、コードは時間を正確に計算します。意図したとおり、2 つの日付の差があります。

以上がJava で日付と時刻の違いを正確に計算するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート