カテゴリ: 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でエラーハンドリングすることも重要です。

カテゴリの一覧へ
新着記事
Thymeleafのth:fragmentを使ったテンプレートの再利用方法を完全ガイド!初心者でもわかる使い方
Javaの@PathVariableアノテーションの使い方を徹底解説!初心者でもわかるパスパラメータの基本と応用
SpringのBindingResult完全ガイド!初心者でもわかる入力チェックとgetTargetの使い方
Thymeleafのth:data-*属性を使いこなす!初心者向け完全解説
人気記事
No.1
Java&Spring記事人気No1
Javaのラムダ式で配列を扱う!Arrays.streamの基本と注意点を初心者向けに解説
No.2
Java&Spring記事人気No2
Spring BootとJavaの互換性一覧!3.5/3.4/3.3はJava 21・17に対応してる?
No.3
Java&Spring記事人気No3
JavaのRuntimeExceptionを完全解説!初心者でもわかるjava.langパッケージの基礎
No.4
Java&Spring記事人気No4
JavaのBigDecimalクラスcompareToメソッド完全ガイド!初心者でもわかる大小比較の基本
No.5
Java&Spring記事人気No5
JavaのIntegerクラスの使い方を完全ガイド!初心者でもわかる整数操作
No.6
Java&Spring記事人気No6
Springの@Serviceアノテーションの使い方を徹底解説!初心者でもわかるSpring フレームワーク入門
No.7
Java&Spring記事人気No7
JavaのHttpSessionを徹底解説!初心者でもわかるセッション管理の基本
No.8
Java&Spring記事人気No8
JSPとは何か?初心者向けにできること・仕組み・特徴をやさしく解説