「Javaで日付計算をマスターする!」
Javaの日付計算は意外と面倒かもしれませんが、それを理解し、使いこなすことができれば、多くのアプリケーション開発で非常に役立ちます。
そこで、本記事ではJavaの日付計算に関する基本的な操作から、少し複雑な操作までを解説していきます。
Javaにおける日付の基本
まず、Javaにおける日付の扱い方について触れておきましょう。
Javaには、日付や時間を扱うためのクラスとして、java.util.Dateクラスとjava.timeパッケージのLocalDateクラス、LocalDateTimeクラスなどがあります。このうち、LocalDateクラスとLocalDateTimeクラスはJava 8から導入され、より直感的で柔軟な日付時間操作が可能になりました。
LocalDateクラスの基本的な使い方
LocalDateクラスは、年、月、日の情報だけを扱います。
以下に、LocalDateクラスのインスタンスを生成する基本的なコードを示します。
ソースコード例1: LocalDateクラスのインスタンス生成
1 2 3 4 5 6 7 8 |
import java.time.LocalDate; public class Program { public static void main(String[] args) { LocalDate today = LocalDate.now(); System.out.println(today); } } |
このコードは、現在の日付を取得して表示します。
LocalDate.now()メソッドは、現在の日付を取得するためのものです。
出力結果
2023-06-01
LocalDateTimeクラスの基本的な使い方
次に、LocalDateTimeクラスの使い方を見てみましょう。
LocalDateTimeクラスは、年、月、日だけでなく、時間、分、秒、ナノ秒まで扱うことができます。
ソースコード例2: LocalDateTimeクラスのインスタンス生成
1 2 3 4 5 6 7 8 |
import java.time.LocalDateTime; public class Program { public static void main(String[] args) { LocalDateTime now = LocalDateTime.now(); System.out.println(now); } } |
このコードは、現在の日付と時間を取得して表示します。
LocalDateTime.now()メソッドは、現在の日付と時間を取得するためのものです。
出力結果
2023-06-01T15:30:45.123
KindleUnlimited会員であれば、全ての本をご覧頂けます。 StreamAPIを理解すれば、Javaの世界が変わる 第1版
Javaでの日付計算
それでは、ここからはJavaを使って日付計算を行ってみましょう。
具体的には、日付の加算、減算、差の計算などを行います。
日付の加算
まずは、日付の加算から見ていきましょう。
LocalDateクラスとLocalDateTimeクラスは、plusDaysメソッド、plusMonthsメソッド、plusYearsメソッドなどを用いて日付の加算を行うことができます。
ソースコード例3: 日付の加算
1 2 3 4 5 6 7 8 9 |
import java.time.LocalDate; public class Program { public static void main(String[] args) { LocalDate today = LocalDate.now(); LocalDate futureDate = today.plusDays(10); System.out.println(futureDate); } } |
このコードは、現在の日付から10日後の日付を計算して表示します。
出力結果
2023-0611
日付の減算
次に、日付の減算を行います。
LocalDateクラスとLocalDateTimeクラスは、minusDaysメソッド、minusMonthsメソッド、minusYearsメソッドなどを用いて日付の減算を行うことができます。
ソースコード例4: 日付の減算
1 2 3 4 5 6 7 8 9 |
import java.time.LocalDate; public class Program { public static void main(String[] args) { LocalDate today = LocalDate.now(); LocalDate pastDate = today.minusDays(10); System.out.println(pastDate); } } |
このコードは、現在の日付から10日前の日付を計算して表示します。
出力結果
2023-05-22
日付の差の計算
最後に、2つの日付の差を計算します。
LocalDateクラスとLocalDateTimeクラスは、java.time.Periodクラスやjava.time.Durationクラスを用いて、2つの日付や時間の差を計算することができます。
ソースコード例5: 日付の差の計算
1 2 3 4 5 6 7 8 9 10 11 |
import java.time.LocalDate; import java.time.Period; public class Program { public static void main(String[] args) { LocalDate today = LocalDate.now(); LocalDate futureDate = today.plusDays(10); Period period = Period.between(today, futureDate); System.out.println(period.getDays()); } } |
このコードは、現在の日付と10日後の日付の差(日数)を計算して表示します。
出力結果
10
まとめ
Javaでの日付計算は、LocalDateクラスやLocalDateTimeクラスを使うことで、さまざまな操作を行うことができます。加算、減算、差の計算など、日付に関する基本的な操作はこれらのクラスのメソッドを利用することで簡単に行うことができます。
今回の記事では、以下の内容を解説しました。
- Javaでの日付と時間の取得方法
- Javaでの日付計算の方法
- 日付の加算、減算、差の計算の例
これらの知識を持っておけば、Javaを使った日付計算に困ることは少なくなるでしょう。
最後まで読んで頂き、ありがとうございました。少しでもお役に立てたなら幸いです!