カテゴリ: Javaの例外処理 更新日: 2026/05/10

Javaの特定の日付を指定してオブジェクトを作成する方法!初心者でもすぐに使えるLocalDateの基本

364
Java の特定の日付を指定してオブジェクトを作成する方法

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

生徒

「Javaで特定の日付を指定して使いたいんですけど、どうやって日付オブジェクトを作ればいいですか?」

先生

「JavaではLocalDateというクラスを使えば、年・月・日を指定して簡単に日付オブジェクトを作ることができますよ。」

生徒

「数字で指定するだけですか?それとも何か特別な書き方があるんですか?」

先生

ofメソッドを使えば、簡単に '年・月・日' を指定して日付を生成できます。それでは詳しく見ていきましょう。」

1. Javaで特定の日付を生成するには?LocalDateクラスの基本

1. Javaで特定の日付を生成するには?LocalDateクラスの基本
1. Javaで特定の日付を生成するには?LocalDateクラスの基本

Javaで特定の日付(たとえば「2025年12月25日」など)をプログラム内で扱いたい場合は、java.time.LocalDateクラスを使うのが一般的です。
LocalDateは、年・月・日のみを扱う日付クラスで、Java 8から導入されました。
時刻やタイムゾーンが不要なケースでは、LocalDateが最適です。

2. LocalDate.ofメソッドで日付オブジェクトを作成する

2. LocalDate.ofメソッドで日付オブジェクトを作成する
2. LocalDate.ofメソッドで日付オブジェクトを作成する

最もシンプルな方法は、LocalDate.of(int year, int month, int dayOfMonth)メソッドを使う方法です。
年・月・日を整数で渡すだけで、簡単に日付を表すインスタンスを生成できます。


import java.time.LocalDate;

public class CreateDateExample {
    public static void main(String[] args) {
        LocalDate birthday = LocalDate.of(1990, 7, 15);
        System.out.println("誕生日: " + birthday);
    }
}

誕生日: 1990-07-15

3. LocalDate.parseで文字列から日付を生成する

3. LocalDate.parseで文字列から日付を生成する
3. LocalDate.parseで文字列から日付を生成する

文字列から日付を生成する場合は、LocalDate.parseメソッドを使います。
文字列の形式は"yyyy-MM-dd"形式が基本です。
例えば、外部から受け取った日付文字列をLocalDateに変換したい場合に便利です。


import java.time.LocalDate;

public class ParseDateExample {
    public static void main(String[] args) {
        String input = "2023-11-03";
        LocalDate date = LocalDate.parse(input);
        System.out.println("指定日: " + date);
    }
}

指定日: 2023-11-03

Javaをこれから始める人や、 オブジェクト指向の考え方を基礎から理解したい人には、 定番の入門書がこちらです。

スッキリわかるJava入門 第4版をAmazonで見る

※ Amazon広告リンク

4. DateTimeFormatterで独自のフォーマットを扱う方法

4. DateTimeFormatterで独自のフォーマットを扱う方法
4. DateTimeFormatterで独自のフォーマットを扱う方法

文字列が"yyyy/MM/dd""dd-MM-yyyy"のような形式の場合は、DateTimeFormatterを使って変換する必要があります。
書式に合わせたフォーマッタを定義し、それをLocalDate.parseに渡します。


import java.time.LocalDate;
import java.time.format.DateTimeFormatter;

public class CustomFormatExample {
    public static void main(String[] args) {
        String input = "2025/09/03";
        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy/MM/dd");
        LocalDate date = LocalDate.parse(input, formatter);
        System.out.println("フォーマット指定日: " + date);
    }
}

フォーマット指定日: 2025-09-03

5. 月や日が1桁のときの注意点

5. 月や日が1桁のときの注意点
5. 月や日が1桁のときの注意点

月や日が1桁(例:2025年1月5日)の場合も、LocalDate.ofであればそのまま数値で渡せます。
しかし、文字列で扱う場合は、ゼロパディングされた形式(例:"2025-01-05")でなければ例外が発生することがあります。

そのため、文字列から日付を生成する場合は、事前に文字列の形式が正しいか確認するのが大切です。

6. 日付生成で発生するエラー例と対処法

6. 日付生成で発生するエラー例と対処法
6. 日付生成で発生するエラー例と対処法

LocalDate.ofで存在しない日付(例:2月30日)を指定すると、DateTimeExceptionが発生します。
また、parseメソッドでも、日付のフォーマットが不正だとDateTimeParseExceptionが出ます。

これらのエラーに備えて、日付の妥当性チェックや、例外処理を加えることをおすすめします。


import java.time.LocalDate;
import java.time.format.DateTimeParseException;

public class SafeParseExample {
    public static void main(String[] args) {
        String input = "2025-02-30";

        try {
            LocalDate date = LocalDate.parse(input);
            System.out.println("日付: " + date);
        } catch (DateTimeParseException e) {
            System.out.println("不正な日付形式です: " + e.getMessage());
        }
    }
}

不正な日付形式です: Text '2025-02-30' could not be parsed: Invalid date 'FEBRUARY 30'

7. Javaで日付を指定して使う実用例

7. Javaで日付を指定して使う実用例
7. Javaで日付を指定して使う実用例

Javaで日付オブジェクトを生成して使う場面は多くあります。たとえば以下のようなケースです:

  • 予約日や締切日をコード上に明記して処理を行う
  • 入力フォームから送られた日付文字列をJavaで扱う
  • データベースに保存する日付の整形や比較処理

JavaではLocalDateofparseを使えば、柔軟に日付生成ができるので、初心者でも安心して利用できます。

この記事を読んだ人からの質問

この記事を読んだ人からの質問
この記事を読んだ人からの質問

プログラミング初心者からのよくある疑問/質問を解決します

Javaで特定の日付を指定してオブジェクトを作成する一番簡単な方法は何ですか?

Javaで特定の日付を指定してオブジェクトを作成する最もシンプルで標準的な方法は、java.time.LocalDateクラスのofメソッドを使用することです。LocalDate.of(年, 月, 日)という形式で、引数に整数値を渡すだけで、指定した年月日の日付インスタンスを生成できます。例えば、2025年12月25日を指定したい場合は、LocalDate.of(2025, 12, 25)と記述します。この方法は直感的で、初心者の方でもすぐに使いこなせるJavaの基本操作です。
Javaの例外処理の一覧へ
新着記事
Java
Java の UUID クラスを使って一意の識別子を作成する方法
JavaのUUIDクラスの使い方を完全ガイド!初心者でもわかる一意な識別子の作成方法
Java
Java の古い日付クラス(Date, Calendar)と新しい日付 API の違い
JavaのDateとCalendarと新しい日付APIの違いとは?初心者向け完全ガイド
Java
Java のカレンダー機能(java.util.Calendar)の使い方
JavaのCalendarクラスの使い方をわかりやすく解説!日付や時刻の操作に便利な基本機能まとめ
Flutter
Dartのパッケージ管理(pubspec.yaml)の使い方
FlutterとDartのパッケージ管理完全ガイド!pubspec.yamlの使い方を初心者向けに徹底解説
人気記事
Java
Java の Random クラスを使ってランダムな数値を生成する方法
JavaのRandomクラスの使い方を完全ガイド!初心者でもわかる乱数生成
Java
Java の getter メソッドと setter メソッドの使い方
Javaのgetterメソッドとsetterメソッドの使い方を完全ガイド!初心者でもわかるアクセス方法
AWS
【AWS】RDSの料金体系まとめ!ざっくり理解・高いと感じる理由も解説
【AWS】RDSの料金体系まとめ!ざっくり理解・高いと感じる理由も解説
AWS
【AWS】VPCとは?初心者向けに仕組み・用途・できることをわかりやすく解説
【AWS】VPCとは?初心者向けに仕組み・用途・できることをわかりやすく解説

🔌 USBポート不足を解消

Type-C 1本で拡張。
開発・作業環境を一気に快適に

UGREEN USB-Cハブを見る

※ Amazon広告リンク