カテゴリ: Java 更新日: 2025/12/31

JavaのLocalDateとgetDayOfMonthの使い方!初心者向け日付の操作ガイド

LocalDateのgetDayOfMonthメソッド
LocalDateのgetDayOfMonthメソッド

先生と生徒の会話形式で理解しよう

生徒

「Javaで今日が月の何日なのかを知るには、どうすればいいんですか?」

先生

「それならLocalDateクラスのgetDayOfMonthメソッドを使えば簡単に取得できますよ。」

生徒

「えっ、そんなメソッドがあるんですね!使い方を教えてください!」

先生

「よし、じゃあjava.timeパッケージの基本から、getDayOfMonthメソッドの具体的な使い方までしっかり学んでいきましょう。」

1. java.timeパッケージとは?

1. java.timeパッケージとは?
1. java.timeパッケージとは?

Javaのjava.timeパッケージは、Java8以降で使える日付と時刻を扱うための標準ライブラリです。それまでよく使われていたjava.util.DateCalendarに代わる、より使いやすく安全なAPIとして登場しました。

java.timeには、LocalDate(日付のみ)、LocalTime(時刻のみ)、LocalDateTime(日付+時刻)などのクラスがあり、用途に応じて使い分けられます。

2. LocalDateクラスの基本

2. LocalDateクラスの基本
2. LocalDateクラスの基本

LocalDateクラスは、「年月日」の情報を扱うためのクラスです。時間やタイムゾーンの情報は含みません。例えば、誕生日や祝日などの固定の日付を扱いたいときに便利です。

現在の日付を取得するには、以下のように記述します。


import java.time.LocalDate;

public class Main {
    public static void main(String[] args) {
        LocalDate today = LocalDate.now();
        System.out.println("今日の日付: " + today);
    }
}

今日の日付: 2025-09-04

LocalDate.now()を使えば、システムの日付を簡単に取得できます。

3. getDayOfMonthメソッドとは?

3. getDayOfMonthメソッドとは?
3. getDayOfMonthメソッドとは?

getDayOfMonthメソッドは、LocalDateのインスタンスから「月の何日か」を整数で取得するメソッドです。例えば、2025年9月4日であれば「4」が返されます。

使い方はとても簡単で、以下のように記述します。


import java.time.LocalDate;

public class Main {
    public static void main(String[] args) {
        LocalDate date = LocalDate.of(2025, 9, 4);
        int day = date.getDayOfMonth();
        System.out.println("月の日付: " + day);
    }
}

月の日付: 4

getDayOfMonthは、月の中で何日目かを知りたいときにとても便利です。日付による条件分岐などにも使えます。

4. よく使う関連メソッドも覚えよう

4. よく使う関連メソッドも覚えよう
4. よく使う関連メソッドも覚えよう

LocalDateには他にも、便利な日付取得メソッドが多数用意されています。以下はその一例です。

  • getYear():年を取得(例:2025)
  • getMonth():月の列挙型を取得(例:SEPTEMBER)
  • getMonthValue():月の数値(例:9)
  • getDayOfWeek():曜日(例:THURSDAY)

これらを組み合わせれば、カレンダーのようなUI表示や、バッチ処理のスケジュール条件なども柔軟に組み立てられます。

5. 今日が月末かを判定する方法

5. 今日が月末かを判定する方法
5. 今日が月末かを判定する方法

getDayOfMonthを使って、今日が月末かどうかを調べる方法を紹介します。


import java.time.LocalDate;

public class Main {
    public static void main(String[] args) {
        LocalDate today = LocalDate.now();
        int todayDay = today.getDayOfMonth();
        int lastDay = today.lengthOfMonth();
        if (todayDay == lastDay) {
            System.out.println("今日は月末です");
        } else {
            System.out.println("今日は月末ではありません");
        }
    }
}

今日は月末ではありません

lengthOfMonth()を使えば、現在の月が何日あるかを取得できます。それとgetDayOfMonth()を比較すれば、月末かどうかを簡単に判断できます。

6. getDayOfMonthを活用する実例

6. getDayOfMonthを活用する実例
6. getDayOfMonthを活用する実例

getDayOfMonthメソッドは、日付に関するロジックを組む場面で役立ちます。例えば以下のようなケースです:

  • 月の初めや月末にだけ特別な処理をしたい場合
  • 毎月10日や20日にメール送信するようなスケジュール設定
  • 日付の入力チェックで1〜31の範囲を確認したいとき

Javaでは、こうした日付の計算が非常に簡単にできるようになっており、業務アプリケーションでもよく使われます。

7. 開発現場での実用例と注意点

7. 開発現場での実用例と注意点
7. 開発現場での実用例と注意点

開発の現場では、getDayOfMonthを使って帳票の締め処理やレポート生成タイミングの条件分岐などにも利用されます。

ただし、月によって日数が異なるため、ロジックを書くときにはlengthOfMonth()などと組み合わせて使うことがポイントです。特にうるう年の2月などでは28日や29日で変化します。

また、ユーザー入力を使って日付を生成する場合は、日付が正しいかtry-catchDateTimeParseExceptionでエラーハンドリングすることも重要です。

カテゴリの一覧へ
新着記事
New1
Java
JavaのStringクラスとlengthメソッドを完全解説!初心者でも理解できる文字列の長さ取得の使い方
更新記事
New2
Spring
Springの@Securedアノテーションの使い方を完全ガイド!初心者でもわかるセキュリティ設定
更新記事
New3
Java
JavaのStringクラスとlastIndexOfメソッドを完全解説!初心者でも理解できる文字列検索の使い方
更新記事
New4
Java
JavaのInterruptedExceptionを完全ガイド!初心者でも理解できるスレッド制御と例外処理
更新記事
人気記事
No.1
Java&Spring記事人気No1
Spring
Spring BootとJavaの互換性一覧!3.5/3.4/3.3はJava 21・17に対応してる?
No.2
Java&Spring記事人気No2
Spring
SpringのBindingResultを完全ガイド!初心者でもわかる入力チェックとエラー処理
No.3
Java&Spring記事人気No3
Java
JavaのBooleanクラスの使い方を完全ガイド!初心者でもわかる真偽値の操作
No.4
Java&Spring記事人気No4
Java
JavaのIOExceptionクラス徹底解説!初心者向けファイル入出力エラー対策ガイド
No.5
Java&Spring記事人気No5
JSP
JSPの基本タグ一覧と使い方まとめ!実務で使えるタグを紹介
No.6
Java&Spring記事人気No6
JSP
JSPでif文・for文を使う方法!初心者でもわかるJavaとの違いと使い方
No.7
Java&Spring記事人気No7
Java
JavaのInterruptedExceptionを完全ガイド!初心者でも理解できるスレッド制御と例外処理
No.8
Java&Spring記事人気No8
Java
JavaのRuntimeExceptionを完全解説!初心者でもわかるjava.langパッケージの基礎