カテゴリ: Java 更新日: 2026/07/29

JavaのLocalDateTime.parseメソッドを徹底解説!初心者でもわかる文字列から日時変換

LocalDateTimeのparseメソッド
LocalDateTimeのparseメソッド

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

生徒

「先生、Javaで文字列から日時を作る方法はありますか?」

先生

「はい、Javaのjava.timeパッケージにあるLocalDateTimeクラスのparseメソッドを使えば、簡単に文字列から日時に変換できますよ。」

生徒

「parseってどういう仕組みなんですか?」

先生

「文字列の書式に合わせて日時オブジェクトを作成する仕組みです。例えば「2025-09-23T10:15:30」という文字列を渡すと、その日時を表すLocalDateTimeが生成されます。」

生徒

「便利ですね!実際の使い方を見てみたいです。」

1. java.timeパッケージについて

1. java.timeパッケージについて
1. java.timeパッケージについて

java.timeパッケージは、Java8から導入された新しい日時APIで、従来のDateやCalendarよりも直感的に使えます。特にLocalDateTimeは日付と時刻を同時に表現できるため、ログやスケジュール処理に広く利用されています。

2. LocalDateTimeクラスの役割

2. LocalDateTimeクラスの役割
2. LocalDateTimeクラスの役割

LocalDateTimeは日付と時刻を扱うクラスですが、タイムゾーン情報は含みません。システムの標準時間や指定のタイムゾーンを後から組み合わせて利用します。例えばデータベースの文字列日時を解析してJavaで処理するときに使うのが一般的です。

3. parseメソッドとは

3. parseメソッドとは
3. parseメソッドとは

parseメソッドは文字列をLocalDateTimeに変換するための静的メソッドです。ISO形式(例:2025-09-23T12:30:00)のような標準フォーマットをサポートしており、さらにDateTimeFormatterを指定して任意の書式にも対応できます。

4. 基本的な使い方

4. 基本的な使い方
4. 基本的な使い方

まずはISO形式の文字列を変換する簡単な例を見てみましょう。


import java.time.LocalDateTime;

public class ParseExample {
    public static void main(String[] args) {
        String text = "2025-09-23T12:30:45";
        LocalDateTime dateTime = LocalDateTime.parse(text);

        System.out.println("変換結果: " + dateTime);
    }
}

変換結果: 2025-09-23T12:30:45

5. DateTimeFormatterを使った例

5. DateTimeFormatterを使った例
5. DateTimeFormatterを使った例

標準形式以外の文字列を解析する場合はDateTimeFormatterを使います。例えば「2025/09/23 12:30:45」という書式に対応させることができます。


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

public class CustomParseExample {
    public static void main(String[] args) {
        String text = "2025/09/23 12:30:45";
        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy/MM/dd HH:mm:ss");
        LocalDateTime dateTime = LocalDateTime.parse(text, formatter);

        System.out.println("フォーマット変換結果: " + dateTime);
    }
}

フォーマット変換結果: 2025-09-23T12:30:45

6. parseを使うメリット

6. parseを使うメリット
6. parseを使うメリット
  • 文字列を直接日時に変換できるのでコードが簡潔になる
  • フォーマットを柔軟に指定できるので多様な文字列に対応可能
  • エラー時には例外が投げられるため入力チェックとしても活用できる

7. エラー処理について

7. エラー処理について
7. エラー処理について

parseメソッドで解析できない文字列を渡すとDateTimeParseExceptionが発生します。必ずtry-catchでエラー処理を行い、安全に実行できるようにしましょう。


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

public class ErrorHandlingExample {
    public static void main(String[] args) {
        String text = "invalid-date";
        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy/MM/dd HH:mm:ss");

        try {
            LocalDateTime dateTime = LocalDateTime.parse(text, formatter);
            System.out.println(dateTime);
        } catch (DateTimeParseException e) {
            System.out.println("解析エラー: " + e.getMessage());
        }
    }
}

解析エラー: Text 'invalid-date' could not be parsed at index 0

8. 実務での活用例

8. 実務での活用例
8. 実務での活用例

parseは以下のような場面で役立ちます。

  • ユーザー入力の日時文字列を解析して処理する
  • CSVやJSONに含まれる日時データを変換してデータベースに保存する
  • 外部APIから受け取った文字列を日時に変換して計算に利用する
  • ログファイルに書かれた時刻を解析してシステム分析に活用する

9. nowやofとの違い

9. nowやofとの違い
9. nowやofとの違い

parseは文字列から日時を生成するのに対し、nowはシステム時刻をそのまま取得します。またofは年や月日を直接指定して作成します。状況に応じてメソッドを使い分けるのがポイントです。

10. 練習課題

10. 練習課題
10. 練習課題

最後に理解を深めるための課題に挑戦してみましょう。

  • 「2025-12-25T18:00:00」という文字列をparseで変換し、日時を出力する
  • 「2025年09月23日 12時30分45秒」という日本語形式の文字列をDateTimeFormatterとparseで解析する
  • 誤ったフォーマットの文字列を入力してエラー処理を試してみる

まとめ

まとめ
まとめ

LocalDateTime.parseの理解を深める総まとめ

本記事ではJavaの日時処理において非常に重要なLocalDateTimeクラスとparseメソッドの使い方について詳しく解説してきました。Javaの開発において日時の扱いは避けて通れない要素であり特に文字列から日時へ変換する処理はWebアプリケーションやバッチ処理システムログ解析などさまざまな場面で頻繁に利用されます。

LocalDateTime.parseメソッドは文字列を解析して日時オブジェクトへ変換するための機能であり標準のISO形式だけでなくDateTimeFormatterを使うことで柔軟なフォーマットにも対応できる点が大きな特徴です。これにより外部APIから受け取ったデータやユーザー入力の日時情報を正確に扱うことが可能になります。

またjava.timeパッケージは従来のDateやCalendarと比べて安全性や可読性が高くスレッドセーフな設計となっているため現代のJava開発では標準的に利用されています。LocalDateTimeはタイムゾーンを持たないシンプルな日時表現としてログやデータベース処理に適しています。

実務で意識したい重要ポイント

実務においてLocalDateTime.parseを使用する際にはいくつかの重要なポイントを理解しておく必要があります。まず入力される文字列のフォーマットが正確であることが前提となるためDateTimeFormatterを適切に設計することが重要です。フォーマットが少しでも異なるとDateTimeParseExceptionが発生するためエラーハンドリングを必ず実装する必要があります。

またユーザー入力を扱う場合にはバリデーション処理と組み合わせて利用することで安全性を高めることができます。例えば入力フォームで日時形式を制限しその後parseで変換することで不正なデータの混入を防ぐことが可能です。Spring BootやSpring MVCと組み合わせることでより実践的なシステム構築ができます。

さらにログ解析やCSVファイルの読み込み処理では複数のフォーマットが混在するケースもあるため条件分岐や複数フォーマット対応の実装を行うことで柔軟性を持たせることが重要になります。このような設計ができるようになると実務レベルのJavaエンジニアとしてのスキルが大きく向上します。

サンプルコードで振り返る基本処理

ここで改めてLocalDateTime.parseの基本的な使い方をサンプルコードで確認してみましょう。文字列から日時へ変換し例外処理を含めた実践的な例です。


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

public class ParseSummaryExample {

    public static void main(String[] args) {

        String text = "2025/09/23 12:30:45";
        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy/MM/dd HH:mm:ss");

        try {
            LocalDateTime dateTime = LocalDateTime.parse(text, formatter);
            System.out.println("変換成功: " + dateTime);
        } catch (DateTimeParseException e) {
            System.out.println("変換失敗: " + e.getMessage());
        }
    }
}

変換成功: 2025-09-23T12:30:45

応用的な活用パターン

LocalDateTime.parseは単純な変換だけでなく応用的な使い方も可能です。例えば複数のフォーマットを順番に試して変換する処理や入力値の前後の空白を除去してから解析する処理または日付の妥当性チェックと組み合わせることでより堅牢なシステムを構築できます。

また変換後のLocalDateTimeを使って期間計算や比較処理を行うこともできます。例えば期限切れチェックや予約時間の判定ログの時系列分析などさまざまなビジネスロジックに応用できます。これらの処理はすべてparseによる正確な日時変換が基盤となっています。

Javaの日時処理は一見難しく感じるかもしれませんが基本となるparseの仕組みを理解することで多くの課題を解決できるようになります。初心者の方はまず標準フォーマットから始めて徐々にカスタムフォーマットへと理解を広げていくことが大切です。

先生と生徒の振り返り会話

生徒

Javaで文字列から日時に変換する方法がしっかり理解できました。parseメソッドがとても便利ですね。

先生

はい。LocalDateTime.parseは実務でも非常によく使われる重要な機能です。特に外部データを扱うときに役立ちます。

生徒

DateTimeFormatterを使えばいろいろな形式に対応できるのも良いですね。

先生

その通りです。ただしフォーマットが一致しないとエラーになるので例外処理は必ず入れておきましょう。

生徒

ユーザー入力のときはバリデーションと組み合わせるのも大事ですね。

先生

はい。入力チェックとparseを組み合わせることで安全なシステムが作れます。Springと組み合わせるとさらに実践的になります。

生徒

ログ解析やCSV処理でも使えると分かってイメージが広がりました。

先生

その理解で大丈夫です。日時処理はあらゆるシステムで必要になるので今回学んだ内容はしっかり身につけておきましょう。

生成AIを基礎から学びたい方へ

ChatGPTなどの生成AIをこれから学びたい方に向けて、AIスキルアカデミーの口コミ・評判、料金、無料セミナーの内容を詳しくまとめています。

AIスキルアカデミーの口コミ・評判を詳しく見る
カテゴリの一覧へ
新着記事
New1
Java
JavaのassertFalseとは?JUnit5のAssertionsクラスを初心者向けにわかりやすく解説
新規投稿
New2
Thymeleaf
ThymeleafでDBから取得したデータを編集フォームの初期値にセットする方法!Entity連携を初心者向けに解説
新規投稿
New3
Spring
JavaのSpringで使う@FutureOrPresentアノテーションを完全ガイド!初心者でもわかる日付バリデーション
新規投稿
New4
Java
JavaのLocalDateクラスのgetMonthValueメソッド完全ガイド!初心者でもわかる数値で月を取得する方法
新規投稿
人気記事
No.1
Java&Spring記事人気No1
Servlet
JavaサーブレットのdoPostメソッドとは?初心者向けにやさしく解説!
No.2
Java&Spring記事人気No2
Servlet
JavaのHttpServletResponseクラスを初心者向けに徹底解説!
No.3
Java&Spring記事人気No3
Servlet
JavaのHttpServletRequestWrapperとgetSessionメソッドの使い方を徹底解説!初心者向けServletのセッション管理入門
No.4
Java&Spring記事人気No4
Servlet
JavaのServletExceptionクラスを初心者向けに徹底解説!
No.5
Java&Spring記事人気No5
Servlet
JavaのHttpSessionインターフェースとgetSessionContextメソッドを徹底解説!初心者でもわかるセッション管理の基本
No.6
Java&Spring記事人気No6
Java
JavaのStringクラスとlengthメソッドを完全解説!初心者でも理解できる文字列の長さ取得の使い方
No.7
Java&Spring記事人気No7
Servlet
JavaのHttpSessionAttributeListenerとattributeRemovedメソッドの使い方を徹底解説!初心者でもわかるセッション属性の削除と監視
No.8
Java&Spring記事人気No8
Java
Javaのクラスとインスタンス化、コンストラクタの使い方完全ガイド!初心者でもわかるオブジェクト指向の基礎