言語
日本語
English

Caution

お使いのブラウザはJavaScriptが無効になっております。
当サイトでは検索などの処理にJavaScriptを使用しています。
より快適にご利用頂くため、JavaScriptを有効にしたうえで当サイトを閲覧することをお勧めいたします。

Java辞典

  1. トップページ
  2. Java辞典
  3. LocalDate.now() / of() / getYear() / getMonth()

LocalDate.now() / of() / getYear() / getMonth()

対応: Java 8(2014)

『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 列挙型で返します(MONDAYSUNDAY)。
plusDays(long n)指定した日数を加算した新しい LocalDate を返します。
isBefore(LocalDate)この日付が指定した日付より前かどうかを boolean 型で返します。

サンプルコード

sample_LocalDateExample.java
import java.time.LocalDate;
import java.time.DayOfWeek;

class LocalDateExample {
    public static void main(String[] args) {
        // 指定した日付を作成します
        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 = date.plusDays(7);
        System.out.println(next); // 『2025-04-08』と出力されます。

        // 今日の日付を取得します
        LocalDate today = LocalDate.now();

        // 日付の比較をします
        LocalDate past = LocalDate.of(2020, 1, 1);
        System.out.println(past.isBefore(today)); // 『true』と出力されます。
        System.out.println(past.isAfter(today));  // 『false』と出力されます。
    }
}
LocalDateExample.java
javac LocalDateExample.java
java LocalDateExample
2025
4
1
TUESDAY
2025-04-08
true
false

概要

『LocalDate』はイミュータブルなため、『plusDays()』や『minusMonths()』などのメソッドを呼んでも元のオブジェクトは変わりません。変更後の日付を利用するには、返される新しいオブジェクトを変数に代入してください。

タイムゾーンを考慮する必要がある場合は ZonedDateTime、日付と時刻の両方を扱う場合は『LocalDateTime』を参照してください。

記事の間違いや著作権の侵害等ございましたらお手数ですがまでご連絡頂ければ幸いです。