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

JavaのSimpleDateFormatのformatメソッドの使い方を完全ガイド!初心者でもわかる日付フォーマット

SimpleDateFormatのformatメソッド
SimpleDateFormatのformatメソッド

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

生徒

「Javaで日付を見やすい形式に変換する方法ってあるんですか?」

先生

「はい、Javaのjava.textパッケージに含まれるSimpleDateFormatクラスを使えば、formatメソッドで日付を自由な文字列に整形できます。」

生徒

「例えば年月日や時刻を自分の好きな形で出力できるんですね?」

先生

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

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

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

Javaのjava.textパッケージは、文字列の解析や整形を行うための便利なクラスが揃っています。特に日付や数値を読みやすい形に変換する際によく利用されます。初心者がJavaで日付処理を学ぶとき、このパッケージは欠かせません。

2. SimpleDateFormatクラスの役割

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

SimpleDateFormatクラスは、Date型のオブジェクトを指定したパターンで文字列に変換したり、逆に文字列を日付として解釈したりできるクラスです。特にformatメソッドは、日付を人間にとって読みやすい形に整えるための中心的なメソッドです。

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

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

ここでは現在の日付を「年/月/日」の形式に変換するサンプルコードを紹介します。


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

public class FormatExample {
    public static void main(String[] args) {
        Date now = new Date();
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd");
        String result = sdf.format(now);
        System.out.println(result);
    }
}

2025/09/24

このようにformatメソッドを使えば、簡単に日付を文字列に整形できます。

4. よく使うフォーマットパターン一覧

4. よく使うフォーマットパターン一覧
4. よく使うフォーマットパターン一覧

指定できるフォーマットパターンには以下のような種類があります。

  • yyyy:西暦(例:2025)
  • MM:月(例:09)
  • dd:日(例:24)
  • HH:24時間表記の時(例:14)
  • mm:分(例:05)
  • ss:秒(例:59)
  • E:曜日(例:水)
  • z:タイムゾーン(例:JST)

これらを組み合わせることで自由に日付の表示形式をカスタマイズできます。

5. 応用例:日時と曜日を含めた整形

5. 応用例:日時と曜日を含めた整形
5. 応用例:日時と曜日を含めた整形

次は年月日、時刻、曜日を含めた出力例です。


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

public class FormatAdvanced {
    public static void main(String[] args) {
        Date now = new Date();
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH時mm分ss秒 (E) z");
        String result = sdf.format(now);
        System.out.println(result);
    }
}

2025年09月24日 14時05分59秒 (水) JST

日本語を含めて整形することで、ユーザーにわかりやすい表示が可能です。

6. formatメソッドを使う際の注意点

6. formatメソッドを使う際の注意点
6. formatメソッドを使う際の注意点

SimpleDateFormatはスレッドセーフではありません。複数のスレッドから同じインスタンスを扱うと予期せぬ結果が出る可能性があります。マルチスレッド環境ではスレッドごとにインスタンスを作成するか、Java8以降で提供されているDateTimeFormatterを利用する方が安全です。

7. formatメソッドの実務での活用

7. formatメソッドの実務での活用
7. formatメソッドの実務での活用

実務ではログにタイムスタンプを残したり、画面に読みやすい日付を表示したりする場面が多くあります。システム開発やWebアプリケーションでも、formatメソッドの知識があると確実に役立ちます。初心者の段階で習得しておくと応用の幅が広がります。

8. DateTimeFormatterとの違い

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

Java8以降ではjava.timeパッケージが導入され、DateTimeFormatterが推奨されています。こちらはスレッドセーフでより直感的に使えます。ただし既存のシステムでは今もSimpleDateFormatが多く利用されているため、両方を理解しておくことが大切です。

カテゴリの一覧へ
新着記事
Springの@Transactional徹底解説!トランザクションの伝播・分離レベル・タイムアウトの基本
JavaのHashMapクラスgetメソッドの使い方を完全ガイド!初心者でもわかるjava.util入門
Thymeleafのth:fragmentを使ったテンプレートの再利用方法を完全ガイド!初心者でもわかる使い方
Javaの@PathVariableアノテーションの使い方を徹底解説!初心者でもわかるパスパラメータの基本と応用
人気記事
No.1
Java&Spring記事人気No1
Javaのラムダ式で配列を扱う!Arrays.streamの基本と注意点を初心者向けに解説
No.2
Java&Spring記事人気No2
JavaのRuntimeExceptionを完全解説!初心者でもわかるjava.langパッケージの基礎
No.3
Java&Spring記事人気No3
Spring BootとJavaの互換性一覧!3.5/3.4/3.3はJava 21・17に対応してる?
No.4
Java&Spring記事人気No4
JavaのIntegerクラスの使い方を完全ガイド!初心者でもわかる整数操作
No.5
Java&Spring記事人気No5
JavaのBigDecimalクラスcompareToメソッド完全ガイド!初心者でもわかる大小比較の基本
No.6
Java&Spring記事人気No6
Springの@Serviceアノテーションの使い方を徹底解説!初心者でもわかるSpring フレームワーク入門
No.7
Java&Spring記事人気No7
Javaの@SuppressWarningsアノテーションの使い方を完全ガイド!初心者でもわかる警告の抑制方法
No.8
Java&Spring記事人気No8
JavaのHttpSessionを徹底解説!初心者でもわかるセッション管理の基本