【Java】日付から文字列、文字列から日付、Date型 ⇔ String型のフォーマット変換

java Java

※この記事にはプロモーションが含まれています。

Javaで日付型(Date型)から文字列型(String)へのフォーマットを指定してのデータ型の変換、
逆の文字列型(String)から日付型(Date型)へのデータ型変換を説明します。

スポンサーリンク

日付型(Date型)から文字列型(String)

フォーマットを指定してDateからStringに変換する方法です

Date date = new Date();

DateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss:SSS");

System.out.println(dateFormat.format(date));

実行結果

2021/07/13 21:14:38:732

フォーマットのパターン文字になります

文字説明
yy西暦年(2桁)2021年 → 21
yyyy西暦年(4桁)2021年 → 2021
M7月 → 7
MM月(ゼロ埋め)7月 → 07
D年に対する日2021/01/13 → 13(2021年になって何日か)
DDD年に対する日(ゼロ埋め)2021/07/13 → 194(2021年になって何日か)
d月に対する日2021/07/13 → 13(2021年7月になって何日か)
dd月に対する日(ゼロ埋め)2021/07/13 → 13(2021年7月になって何日か)
w年に対する週2021/07/13 → 29(2021年になって何週か)
W月に対する週2021/07/13 → 3(2021年7月になって何週か)
E曜日2021/07/13 → 火
Fその月の何回目の曜日か2021/07/13 → 2(2021/07の2回目の火曜日)
a午前午後2021/07/13 21:28 → 午後
h時(12時間表記)21:28 → 9
hh時(12時間表記ゼロ埋め)21:28 → 09
H時(24時間表記)9:28 → 9
HH時(24時間表記ゼロ埋め)9:28 → 09
m05:06 → 6
mm分(ゼロ埋め)05:06 → 06
s05:06:07 → 7
ss秒(ゼロ埋め)05:06:07 → 07
Sミリ秒05:06:07:008 → 8
SSSミリ秒(ゼロ埋め)05:06:07:008 → 008

文字列型(String)から日付型(Date型)

StringからDateへ変換するにはフォーマット指定でparseします。

String str = "2021/07/13 21:35:50";

DateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");

Date date = dateFormat.parse(str);

System.out.println(date);

実行結果

Tue Jul 13 21:35:50 JST 2021

日付のフォーマットは大文字小文字で意味が変わってくるので、気をつけましょう。

コメント

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