Caution
お使いのブラウザはJavaScriptが実行できない状態になっております。
当サイトはWebプログラミングの情報サイトの為、
JavaScriptが実行できない環境では正しいコンテンツが提供出来ません。
JavaScriptが実行可能な状態でご閲覧頂くようお願い申し上げます。
LocalDate.now() / of() / getYear() / getMonth()
『LocalDate』は時刻情報を持たない日付(年・月・日)を表すクラスです(Java 8+)。従来の java.util.Date に代わるモダンな日時 API の一部で、イミュータブル(変更不可)なオブジェクトです。
構文
// 今日の日付を取得します。 LocalDate today = LocalDate.now(); // 指定した日付を作成します(年, 月, 日)。 LocalDate date = LocalDate.of(年, 月, 日); // 年を取得します。 date.getYear(); // 月を数値で取得します(1〜12)。 date.getMonthValue(); // 日を取得します(1〜31)。 date.getDayOfMonth();
メソッド一覧
| メソッド | 概要 |
|---|---|
| LocalDate.now() | システムのデフォルトタイムゾーンで今日の日付を取得します。 |
| LocalDate.of(year, month, day) | 指定した年・月・日の LocalDate を作成します。 |
| getYear() | 年を int 型で返します。 |
| getMonthValue() | 月を 1〜12 の int 型で返します。 |
| getDayOfMonth() | 日を 1〜31 の int 型で返します。 |
| getDayOfWeek() | 曜日を DayOfWeek 列挙型で返します(MONDAY〜SUNDAY)。 |
| plusDays(long n) | 指定した日数を加算した新しい LocalDate を返します。 |
| isBefore(LocalDate) | この日付が指定した日付より前かどうかを boolean 型で返します。 |
サンプルコード
import java.time.LocalDate; import java.time.DayOfWeek; // 今日の日付を取得します。 LocalDate today = LocalDate.now(); System.out.println(today); // 例: 『2025-04-01』と出力されます。 // 指定した日付を作成します。 LocalDate date = LocalDate.of(2025, 4, 1); System.out.println(date.getYear()); // 『2025』と出力されます。 System.out.println(date.getMonthValue()); // 『4』と出力されます。 System.out.println(date.getDayOfMonth()); // 『1』と出力されます。 // 曜日を取得します。 DayOfWeek dow = date.getDayOfWeek(); System.out.println(dow); // 『TUESDAY』と出力されます。 // 日数を加算します(イミュータブルなので新しいオブジェクトが返ります)。 LocalDate next = today.plusDays(7); System.out.println(next); // 1週間後の日付が出力されます。 // 日付の比較をします。 LocalDate past = LocalDate.of(2020, 1, 1); System.out.println(past.isBefore(today)); // 『true』と出力されます。 System.out.println(past.isAfter(today)); // 『false』と出力されます。
概要
『LocalDate』はイミュータブルなため、『plusDays()』や『minusMonths()』などのメソッドを呼んでも元のオブジェクトは変わりません。変更後の日付を利用するには、返される新しいオブジェクトを変数に代入してください。
タイムゾーンを考慮する必要がある場合は ZonedDateTime、日付と時刻の両方を扱う場合は『LocalDateTime』を参照してください。
記事の間違いや著作権の侵害等ございましたらお手数ですがこちらまでご連絡頂ければ幸いです。