【Java】日時のフォーマットを扱うことができるSimpleDateFormatクラスを解説します

こんにちは。たいら(@tairaengineer2)です。
転職を繰り返し現在4社経験している、10年目エンジニアです。

この記事では、 Javaで日時のフォーマットを扱うことができるSimpleDateFormatクラスについて

  • SimpleDateFormatクラスとは
  • SimpleDateFormatクラスを使ったサンプルプログラム

と、丁寧に解説していきます。

前提条件:実行環境について

実行環境は以下の通りです。

OS Windows10
IntelliJ IDEAのエディション Community(無料版)
IntelliJ IDEAのバージョン 2021.3.2
プロジェクト Javaプロジェクト
SDK Oracle OpenJDK version17.0.2

Javaを動かすためにIntelliJ IDEAを使っています。
IntelliJ IDEAのインストールは、下の記事をご参考ください。

SimpleDateFormatクラスとは

SimpleDateFormatクラスとは、日時のフォーマットを扱うことができるクラスです。
SimpleDateFormatクラスを使えば、

  • 日付(Dateクラス)→文字列(String型)
  • 文字列(String型)→日付(Dateクラス)

の変換ができます。

Dateクラスについては、こちらの記事をご参考ください。

SimpleDateFormatクラスを使うためには

をインポートする必要があります。

SimpleDateFormatクラスのコンストラクタ

SimpleDateFormatクラスのコンストラクタを解説します。

コンストラクタ 説明
SimpleDateFormat() 引数なし。
デフォルトの「yy/MM/dd H:mm」のフォーマットでSimpleDateFormatオブジェクトが生成される
SimpleDateFormat(String pattern) 第一引数のpatternに日時のフォーマットを指定。
指定したフォーマットのSimpleDateFormatオブジェクトが生成される

指定できる日付フォーマットのまとめ

SimpleDateFormatクラスに指定できる日付フォーマットをまとめました。

指定できる文字 概要 書き方パターン 表示サンプル
G 紀元 G 西暦
y y 2022年→2022
yy 2022年→22
M M 2月→2
MM 2月→02
D 年における日 D 2月25日→56
DDD 2月25日→056
d 月における日 d 2月1日→1
dd 2月1日→01
w 年における週 w 2022年2月25日→9
ww 2022年2月25日→09
W 月における週 W 2022年2月25日→4
WW 2022年2月25日→04
F 月の何回目の曜日なのか F 2022年2月25日→4
※2月で4回目の金曜日であるため
E 曜日 E 2022年2月25日(金曜)→金
a 午前午後 a 14時50分→午後
h 午前/午後の時(1~12) h 14時→2
hh 14時→02
H 1日における時(0~23) H 7時→7
HH 7時→07
m m 2分→2
mm 2分→02
s s 3秒→3
ss 3秒→03
S ミリ秒 S 16ミリ秒→16
SSS 16ミリ秒→016

では、次の章で実際に使ってみます。

SimpleDateFormatクラスを解説するプログラムの概要

SimpleDateFormatクラスを解説するプログラムでは、使う頻度が高いであろうformatメソッドを使います。
formatメソッドは引数の日付を指定されているフォーマットに変換するメソッドです。

  • コンストラクタに引数なし
  • コンストラクタに引数あり

の2パターンでSimpleDateFormatクラスのオブジェクトを作成します。
Dateクラスのオブジェクトをそれぞれのフォーマットで変換して表示させ、どのように表されるかを確認します。

解説で使うJavaプログラムは、Sampleプロジェクトのsampleパッケージ内にある、とします。
JavaのSimpleDateFormatクラスを解説

Javaサンプルプログラム

実行結果

Javaプログラムを実行します。
IntelliJ IDEAでJavaプログラムを実行するやり方は、こちらの記事をご参考ください。

Dateクラスをそれぞれの指定したフォーマットに文字列に変換できていることが確認できました。

まとめ:SimpleDateFormatクラスを使ってみよう!

以上がJavaの日時のフォーマットを扱うことができるSimpleDateFormatクラスについての解説でした!

あなたのご参考になったのなら、とても嬉しいです(*´▽`*)
ではでは~(・ω・)ノシ

コメント

タイトルとURLをコピーしました