カテゴリ: Java 更新日: 2025/11/06

JavaのLocalDateTime.ofメソッド完全ガイド!初心者でもわかる日時指定の方法

LocalDateTimeのofメソッド
LocalDateTimeのofメソッド

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

生徒

「先生、Javaで自分が指定した日時を作ることはできますか?」

先生

「もちろんできますよ。java.timeパッケージのLocalDateTimeクラスにはofメソッドが用意されていて、年や月や日、時間を自由に指定して日時を作ることができます。」

生徒

「へえ、便利そうですね!誕生日やイベントの日付もプログラムで扱えるんですね。」

先生

「その通りです。では、基本から一緒に見ていきましょう。」

1. java.timeパッケージの役割

1. java.timeパッケージの役割
1. java.timeパッケージの役割

java.timeパッケージはJava8以降で導入された日付と時間を扱う新しいAPIです。従来のDateCalendarよりも使いやすく直感的に設計されていて、初心者にも理解しやすいのが特徴です。

このパッケージの中には日付だけを扱うLocalDate、時間だけを扱うLocalTime、日付と時間を両方まとめて扱うLocalDateTimeなどがあります。今回はこのLocalDateTimeクラスに注目します。

2. LocalDateTimeクラスとは

2. LocalDateTimeクラスとは
2. LocalDateTimeクラスとは

LocalDateTimeは、年月日と時分秒をまとめて扱うことができるクラスです。たとえば「2025年1月1日10時30分」という具体的な日時を作ったり、現在日時を取得して処理に利用することができます。

ログの記録や予約システム、ファイルのタイムスタンプなど、あらゆるプログラムでよく使われる重要なクラスです。

3. ofメソッドの概要

3. ofメソッドの概要
3. ofメソッドの概要

ofメソッドは、LocalDateTimeのインスタンスを指定した日時で生成するための静的メソッドです。現在時刻ではなく、自分で指定した日時をプログラム上で使いたいときに利用します。

年、月、日、時間、分、秒といった情報を順番に渡すだけで簡単に日時を作れるのが特徴です。

4. ofメソッドの基本的な使い方

4. ofメソッドの基本的な使い方
4. ofメソッドの基本的な使い方

実際に、ofメソッドを使って日時を生成する例を見てみましょう。


import java.time.LocalDateTime;

public class OfExample {
    public static void main(String[] args) {
        LocalDateTime dateTime = LocalDateTime.of(2025, 9, 23, 15, 45, 30);

        System.out.println("指定した日時: " + dateTime);
    }
}

指定した日時: 2025-09-23T15:45:30

このように、年月日と時分秒を渡すだけで指定の日時を作ることができます。

5. 引数の詳細

5. 引数の詳細
5. 引数の詳細

LocalDateTime.ofには複数のオーバーロードが存在します。主に以下の2種類です。

  • of(int year, int month, int dayOfMonth, int hour, int minute)
  • of(int year, int month, int dayOfMonth, int hour, int minute, int second)

月は1から12で指定し、日付はその月の日数に合わせます。例えば2月は28日または29日、4月は30日です。もし存在しない日付を指定するとDateTimeExceptionが発生するため注意が必要です。

6. 便利な活用例

6. 便利な活用例
6. 便利な活用例

実際の開発では以下のような場面でofメソッドを活用します。

  • ユーザーが入力した日付と時間をもとに予約日時を作成する
  • 毎年決まった記念日の日時を表現する
  • 特定のイベント開始日時をプログラムに埋め込む
  • スケジュール管理アプリで日付オブジェクトを作成する

7. DateTimeFormatterとの組み合わせ

7. DateTimeFormatterとの組み合わせ
7. DateTimeFormatterとの組み合わせ

ofで作った日時を見やすい形式で表示したい場合、DateTimeFormatterを組み合わせます。


import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;

public class OfFormatExample {
    public static void main(String[] args) {
        LocalDateTime dateTime = LocalDateTime.of(2025, 12, 31, 23, 59, 59);
        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy年MM月dd日 HH時mm分ss秒");

        String formatted = dateTime.format(formatter);
        System.out.println("フォーマット後: " + formatted);
    }
}

フォーマット後: 2025年12月31日 23時59分59秒

8. ofメソッドと他のクラスとの違い

8. ofメソッドと他のクラスとの違い
8. ofメソッドと他のクラスとの違い

LocalDateTime.ofは日付と時刻を同時に指定しますが、もし日付だけを指定したいならLocalDate.of、時刻だけを指定したいならLocalTime.ofを利用できます。

さらにタイムゾーンを考慮する場合はZonedDateTime.ofを使うと、地域ごとの正しい日時を生成できます。

9. 応用練習アイデア

9. 応用練習アイデア
9. 応用練習アイデア

理解を深めるために、以下のような練習問題に挑戦してみると良いでしょう。

  • 自分の誕生日の日時をプログラムで作成して表示する
  • 来週の同じ曜日の午前9時を計算して表示する
  • イベント開始日時と終了日時を作成して、差分を計算する
  • 毎月1日の午前0時を生成してリストに保存する
カテゴリの一覧へ
新着記事
Javaのラムダ式で戻り値とvoidの使い方を解説!returnの書き方も完全理解
Javaのメソッド参照とコンストラクタ参照の使い方を完全ガイド!初心者向けに::とClass::newを解説
Javaのラムダ式の書き方を徹底解説!アロー演算子->の基本と使い方
Thymeleafのth:eachの使い方!ループ回数やindexなどの繰り返し処理を学ぼう
人気記事
No.1
Java&Spring記事人気No1
Spring BootとJavaの互換性一覧!3.5/3.4/3.3はJava 21・17に対応してる?
No.2
Java&Spring記事人気No2
Spring Boot JPA入門:エンティティ/リポジトリの基本と作り方
No.3
Java&Spring記事人気No3
Javaの@Validアノテーションを徹底解説!初心者でもわかる入力値検証の基本
No.4
Java&Spring記事人気No4
Springの@Repositoryアノテーションの使い方を徹底解説!初心者でもわかるSpringフレームワークのデータアクセス