JavaのSimpleDateFormatのparseメソッドの使い方を完全ガイド!初心者でもわかる日付文字列の解析
生徒
「Javaで文字列から日付に変換する方法はありますか?」
先生
「はい、Javaのjava.textパッケージに含まれるSimpleDateFormatクラスのparseメソッドを使えば、文字列を日付オブジェクトに変換できます。」
生徒
「例えば、ユーザーが入力した日付をDate型にしたいときに使えるんですね?」
先生
「その通りです。では具体的なサンプルコードを見ながら学んでいきましょう。」
1. java.textパッケージとは?
Javaのjava.textパッケージは、文字列を整形したり解析したりするためのクラスが集められています。日付や数値を扱う際に非常に便利で、特にSimpleDateFormatは日付と文字列を相互に変換するために頻繁に利用されます。
2. SimpleDateFormatクラスの役割
SimpleDateFormatクラスは、日付を文字列に変換するだけでなく、文字列を日付に変換する機能も持っています。その中心的なメソッドが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. パターンと入力文字列の関係
parseを正しく使うためには、入力する文字列の形式とSimpleDateFormatに指定するパターンを一致させる必要があります。例えば「yyyy-MM-dd」で指定した場合は「2025-09-24」といった文字列を解析できます。一致しないとParseExceptionが発生します。
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. エラーハンドリングのポイント
parseメソッドはParseExceptionをスローする可能性があります。そのため必ずtry-catchで囲んで使います。初心者がつまずきやすいポイントですが、例外処理を理解する良い練習にもなります。
7. 実務での利用シーン
実際の開発現場では、入力フォームから受け取った日付や、CSVファイルやデータベースに保存されている文字列を解析する場面でparseが使われます。ログ解析やデータ変換処理でも欠かせない存在です。
8. DateTimeFormatterとの違い
Java8以降ではDateTimeFormatterが登場し、より安全で便利な日付解析が可能になりました。ただし既存システムではSimpleDateFormatが広く使われているため、両方を学ぶことが重要です。特にparseは古いコードに頻繁に登場するので理解必須です。