カテゴリ: Java 更新日: 2026/01/19

JavaのSimpleDateFormatのparseメソッドの使い方を完全ガイド!初心者でもわかる日付文字列の解析

SimpleDateFormatのparseメソッド
SimpleDateFormatのparseメソッド

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

生徒

「Javaで文字列から日付に変換する方法はありますか?」

先生

「はい、Javaのjava.textパッケージに含まれるSimpleDateFormatクラスのparseメソッドを使えば、文字列を日付オブジェクトに変換できます。」

生徒

「例えば、ユーザーが入力した日付をDate型にしたいときに使えるんですね?」

先生

「その通りです。では具体的なサンプルコードを見ながら学んでいきましょう。」

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

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

Javaのjava.textパッケージは、文字列を整形したり解析したりするためのクラスが集められています。日付や数値を扱う際に非常に便利で、特にSimpleDateFormatは日付と文字列を相互に変換するために頻繁に利用されます。

2. SimpleDateFormatクラスの役割

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

SimpleDateFormatクラスは、日付を文字列に変換するだけでなく、文字列を日付に変換する機能も持っています。その中心的なメソッドがparseです。これを理解すれば、ユーザー入力や外部データから取得した文字列を簡単に日付型に変換できます。

3. parseメソッドの基本的な使い方

3. parseメソッドの基本的な使い方
3. parseメソッドの基本的な使い方

ここでは「2025/09/24」という文字列を日付に変換するサンプルを紹介します。


import java.text.SimpleDateFormat;
import java.text.ParseException;
import java.util.Date;

public class ParseExample {
    public static void main(String[] args) {
        try {
            String input = "2025/09/24";
            SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd");
            Date date = sdf.parse(input);
            System.out.println(date);
        } catch (ParseException e) {
            e.printStackTrace();
        }
    }
}

Wed Sep 24 00:00:00 JST 2025

parseメソッドは指定したパターンと一致する文字列をDate型に変換してくれます。

4. パターンと入力文字列の関係

4. パターンと入力文字列の関係
4. パターンと入力文字列の関係

parseを正しく使うためには、入力する文字列の形式とSimpleDateFormatに指定するパターンを一致させる必要があります。例えば「yyyy-MM-dd」で指定した場合は「2025-09-24」といった文字列を解析できます。一致しないとParseExceptionが発生します。

5. よく使うフォーマット例

5. よく使うフォーマット例
5. よく使うフォーマット例
  • yyyy/MM/dd:2025/09/24
  • yyyy-MM-dd:2025-09-24
  • yyyy年MM月dd日:2025年09月24日
  • MM/dd/yyyy:09/24/2025

これらのフォーマットを指定しておけば、ユーザー入力や外部システムからのデータを柔軟に受け取ることができます。

6. エラーハンドリングのポイント

6. エラーハンドリングのポイント
6. エラーハンドリングのポイント

parseメソッドはParseExceptionをスローする可能性があります。そのため必ずtry-catchで囲んで使います。初心者がつまずきやすいポイントですが、例外処理を理解する良い練習にもなります。

7. 実務での利用シーン

7. 実務での利用シーン
7. 実務での利用シーン

実際の開発現場では、入力フォームから受け取った日付や、CSVファイルやデータベースに保存されている文字列を解析する場面でparseが使われます。ログ解析やデータ変換処理でも欠かせない存在です。

8. DateTimeFormatterとの違い

8. DateTimeFormatterとの違い
8. DateTimeFormatterとの違い

Java8以降ではDateTimeFormatterが登場し、より安全で便利な日付解析が可能になりました。ただし既存システムではSimpleDateFormatが広く使われているため、両方を学ぶことが重要です。特にparseは古いコードに頻繁に登場するので理解必須です。

まとめ

まとめ
まとめ

SimpleDateFormatとparseメソッドの理解を振り返る

ここまで、Javaにおける日付処理の基本として、SimpleDateFormatクラスとparseメソッドの使い方について詳しく学んできました。 Javaでは、日付や時刻を扱う場面が非常に多く、特に業務システムやWebアプリケーションでは、ユーザーが入力した文字列形式の日付を正しく扱えるかどうかが重要になります。 parseメソッドは、そのような「文字列から日付型へ変換する」という役割を担う、非常に基本かつ重要なメソッドです。

本記事で紹介したように、parseメソッドを使う際の最大のポイントは、「入力文字列の形式」と「フォーマットパターン」を必ず一致させることです。 年月日をスラッシュで区切るのか、ハイフンで区切るのか、日本語の「年」「月」「日」を含めるのかによって、指定すべきパターンは変わります。 この対応関係を理解していないと、実行時にParseExceptionが発生し、プログラムが意図した通りに動かなくなってしまいます。

また、例外処理も重要な学習ポイントでした。 parseメソッドは、解析に失敗する可能性があるため、必ずtry-catch構文で囲んで使用する必要があります。 これは初心者の方が「なぜエラーになるのか分からない」と感じやすい部分ですが、逆に言えば、Javaの例外処理の考え方を理解する絶好の教材でもあります。 日付処理を通して、例外処理の書き方や考え方に慣れておくことで、他のAPIを扱う際にも応用が利くようになります。

実務を意識したparseメソッドの使いどころ

実務の現場では、画面入力、CSVファイル、ログデータ、外部システム連携など、文字列として日付を受け取るケースが非常に多く存在します。 そのたびに、日付を単なる文字列として扱うのではなく、Date型や日時オブジェクトとして扱うことで、比較や計算、並び替えといった処理が容易になります。 SimpleDateFormatparseメソッドは、その入口となる存在です。

たとえば、期間指定検索や期限チェック、スケジュール管理といった機能では、日付同士の比較が必須になります。 文字列のまま比較してしまうと、正しい結果が得られないことも多いため、正しく日付型に変換することが品質の高いプログラムにつながります。 このような観点からも、parseメソッドの正しい使い方を理解しておくことは、Java初心者から一歩レベルアップするために欠かせない要素だと言えるでしょう。

まとめとしてのサンプルプログラム

ここで、これまでの内容を踏まえたシンプルなサンプルプログラムをもう一度確認してみましょう。 日付文字列を解析し、エラー処理も含めて安全に扱う基本形です。


import java.text.SimpleDateFormat;
import java.text.ParseException;
import java.util.Date;

public class SummaryParseSample {
    public static void main(String[] args) {
        String inputDate = "2025-12-01";
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");

        try {
            Date parsedDate = sdf.parse(inputDate);
            System.out.println(parsedDate);
        } catch (ParseException e) {
            System.out.println("日付の形式が正しくありません");
        }
    }
}

このように、日付フォーマットを明示し、例外処理を適切に行うことで、安定した日付解析処理を実装できます。 シンプルなコードですが、Javaの日付処理の基本がしっかり詰まっています。

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

生徒

「SimpleDateFormatのparseメソッドって、ただ文字列を日付に変えるだけかと思っていましたが、 フォーマットの指定や例外処理がとても大事なんですね」

先生

「その通りです。特に実務では、想定外の形式の文字列が渡ってくることも多いので、 エラーを前提にした書き方が重要になります」

生徒

「フォーマットと入力文字列を一致させること、try-catchで安全に処理することを意識すれば、 日付処理への苦手意識も減りそうです」

先生

「それが理解できれば十分です。SimpleDateFormatのparseは、 Javaの基礎文法と実務知識の両方を学べる良いテーマなので、 ぜひ繰り返し練習して身につけてください」

カテゴリの一覧へ
新着記事
New1
Java
JavaのStreamとforEachを完全ガイド!初心者でもわかる繰り返し処理の基本
更新記事
New2
Spring
Thymeleaf(タイムリーフ)入門!初心者でもわかるSpring Bootとテンプレートエンジンの使い方
更新記事
New3
Java
JavaのLocalDateとgetDayOfYearの使い方を完全ガイド!初心者でもわかる通算日数の取得方法
新規投稿
New4
Java
JavaのBigDecimalクラスdivideメソッド完全ガイド!初心者でもわかる割り算の基本
更新記事
人気記事
No.1
Java&Spring記事人気No1
Spring
Spring BootとJavaの互換性一覧!3.5/3.4/3.3はJava 21・17に対応してる?
No.2
Java&Spring記事人気No2
JSP
JSPの基本タグ一覧と使い方まとめ!実務で使えるタグを紹介
No.3
Java&Spring記事人気No3
Thymeleaf
Thymeleafのth:classappend属性の使い方を完全ガイド!初心者でもわかる動的クラス追加
No.4
Java&Spring記事人気No4
Spring
Spring BootのJakarta移行ガイド!初心者向けjavax→jakarta変更ポイント徹底解説
No.5
Java&Spring記事人気No5
Spring
Springの@Componentアノテーションの使い方を徹底解説!初心者でもわかるSpring Boot入門
No.6
Java&Spring記事人気No6
Java
JavaのRuntimeExceptionを完全解説!初心者でもわかるjava.langパッケージの基礎
No.7
Java&Spring記事人気No7
Spring
SpringのPageableとSortでページング一覧APIを最短実装!初心者向け完全ガイド
No.8
Java&Spring記事人気No8
Java
Javaのラムダ式の書き方を徹底解説!アロー演算子->の基本と使い方