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 |
M | 月 | 7月 → 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 |
m | 分 | 05:06 → 6 |
mm | 分(ゼロ埋め) | 05:06 → 06 |
s | 秒 | 05: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
日付のフォーマットは大文字小文字で意味が変わってくるので、気をつけましょう。
コメント