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

Java で日付と時刻の差を効率的に計算するにはどうすればよいですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-12-18 14:15:10586ブラウズ

How Can I Efficiently Calculate Date and Time Differences in Java?

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

Java では、経過時間を確認するために 2 つの日付または時刻の差を計算する必要があることがよくあります。期間。これはさまざまな手法を使用して実現できますが、一般的なアプローチにはミリ秒の操作が含まれます。

日付/時刻の差の計算を実行する 1 つの方法は、Date クラスを使用することです。 Date クラスは特定の瞬間を表し、日付とエポックからのミリ秒間の変換を行うメソッドを提供します。 2 つの日付の差を計算するには、後の日付のミリ秒から前の日付のミリ秒を引くだけです。

たとえば、次のコードを考えてみましょう。

String dateStart = "11/03/14 09:29:58";
String dateStop = "11/03/14 09:33:43";

SimpleDateFormat format = new SimpleDateFormat("yy/MM/dd HH:mm:ss");

Date d1 = null;
Date d2 = null;
try {
    d1 = format.parse(dateStart);
    d2 = format.parse(dateStop);
} catch (ParseException e) {
    e.printStackTrace();
}

// Get msec from each, and subtract.
long diff = d2.getTime() - d1.getTime();
long diffSeconds = diff / 1000;
long diffMinutes = diff / (60 * 1000);
long diffHours = diff / (60 * 60 * 1000);

System.out.println("Time in seconds: " + diffSeconds + " seconds.");
System.out.println("Time in minutes: " + diffMinutes + " minutes.");
System.out.println("Time in hours: " + diffHours + " hours.");

このコードは、2 つの日付の差を時、分、秒で計算する方法を示しています。ただし、指定されたコードには問題があります。diffSeconds 変数が正しく計算されません。秒数を計算する正しい方法は、以下に示すようにミリ秒を使用することです:

long diffSeconds = TimeUnit.MILLISECONDS.toSeconds(diff);

この変更により、正しい時差が秒単位で計算され、表示されるようになります。

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

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