Javaで時間差を簡単に計算しよう!
Javaには日付や時間を扱うための多くのクラスが用意されていますが、これらを上手く活用することで、簡単に時間差の計算ができます。
この記事ではJavaを使用して時間差を計算する方法について詳しく解説します。
Javaで扱う主な日付・時間クラス
Javaで日付や時間を扱う主なクラスは以下の通りです。これらを組み合わせて、時間差を計算することが可能です。
Javaで扱う主な日付・時間クラス
- java.util.Date
- java.util.Calendar
- java.time.LocalDateTime
- java.time.Duration
- java.time.Period
java.util.Dateとjava.util.Calendarを用いた時間差計算
まず最初に、java.util.Dateとjava.util.Calendarを使って時間差を計算してみましょう。
これらのクラスはJavaが初めてリリースされた頃から存在しています。
ソースコード例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
import java.util.Calendar; import java.util.Date; public class Program { public static void main(String[] args) { // 現在日時を取得 Date now = new Date(); // 1時間後の日時を計算 Calendar calendar = Calendar.getInstance(); calendar.setTime(now); calendar.add(Calendar.HOUR, 1); Date oneHourLater = calendar.getTime(); // 時間差をミリ秒で取得 long diff = oneHourLater.getTime() - now.getTime(); System.out.println(""時間差: " + diff + " ミリ秒"); } } |
出力結果
時間差: 3600000 ミリ秒
java.time.LocalDateTimeを用いた時間差計算
次に、java.time.LocalDateTimeを用いた時間差計算の方法を見てみましょう。
java.timeパッケージはJava8から導入された新しい日付・時間APIです。
ソースコード例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
import java.time.LocalDateTime; import java.time.Duration; public class Program { public static void main(String[] args) { // 現在日時を取得 LocalDateTime now = LocalDateTime.now(); // 1時間後の日時を計算 LocalDateTime oneHourLater = now.plusHours(1); // 時間差を取得 Duration duration = Duration.between(now, oneHourLater); long diff = duration.toMillis(); System.out.println("時間差: " + diff + " ミリ秒"); } } |
出力結果
時間差: 3600000 ミリ秒
java.time.Periodを用いた時間差計算
さて、最後にjava.time.Periodを用いた時間差計算を見てみましょう。
java.time.Periodクラスは年、月、日の単位での時間の量を表現します。これを使うと、日付の差を計算することができます。
ソースコード例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
import java.time.LocalDate; import java.time.Period; public class Program { public static void main(String[] args) { // 現在日付を取得 LocalDate now = LocalDate.now(); // 10日後の日付を計算 LocalDate tenDaysLater = now.plusDays(10); // 日付の差を取得 Period period = Period.between(now, tenDaysLater); int diff = period.getDays(); System.out.println("日付差: " + diff + " 日"); } } |
出力結果
日付差: 10 日
まとめ
この記事では、Javaを使って時間差を計算する方法を解説しました。
java.util.Dateやjava.util.Calendarを使った古い方法から、Java8から導入された新しい日付・時間APIを用いた方法まで、様々な計算方法があります。
それぞれの方法には特性と利点があるため、自分のニーズに合わせて適切な方法を選択してください。
最後まで読んで頂き、ありがとうございました。少しでもお役にたてたなら幸いです!