ホームページ >Java >&#&チュートリアル >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 サイトの他の関連記事を参照してください。