【Java】日付を文字列にフォーマット変換する方法

この記事ではJavaで日付を文字列にフォーマット変換する方法を解説します。
日付から文字列にフォーマット変換するには、String.formatを使用して変換すればよいです。
String.format(“%1$tY%1$tm%1$td”, date型変数);
また、スラッシュ編集「/」やハイフン編集「-」を行うには変換のフォーマットに付け足すのみでOKです。
// YYYYMMDDへ編集
String.format("%1$tY%1$tm%1$td", date);
// スラッシュ編集:YYYY/MM/DD
String.format("%1$tY/%1$tm/%1$td", date);
// // ハイフン編集:YYYY-MM-DD
String.format("%1$tY-%1$tm-%1$td", date);
和暦への編集は、和暦へのフォーマットを用意してあげる必要があります。
// 和暦編集:令和YY年MM月DD日
Locale locale = new Locale("ja", "JP", "JP");
Calendar calendar = Calendar.getInstance(locale);
DateFormat 和暦フォーマット = new SimpleDateFormat("GGGGy年M月d日", locale);
和暦フォーマット.format(date);
上記のまとめとして、データ型と、引数を受け取ることで日付を文字列にフォーマット変換するメソッドです。
引数に応じて指定の文字列フォーマットに変換します。
public static String 現在時刻から文字列日付(Date date, int i) {
// スラッシュ編集:YYYY/MM/DD
if (i == 1) {
return String.format("%1$tY/%1$tm/%1$td", date);
// ハイフン編集:YYYY-MM-DD
} else if (i == 2) {
return String.format("%1$tY-%1$tm-%1$td", date);
// 和暦編集:令和YY年MM月DD日
} else if (i == 3) {
Locale locale = new Locale("ja", "JP", "JP");
Calendar calendar = Calendar.getInstance(locale);
DateFormat 和暦フォーマット = new SimpleDateFormat("GGGGy年M月d日", locale);
return 和暦フォーマット.format(date);
// YYYYMMDDへ編集
} else if (i == 4) {
return String.format("%1$tY%1$tm%1$td", date);
}
return "";
}
// 〇実行結果
//引数が1の場合
//変換前
Wed Oct 23 07:19:57 JST 2024
//変換後
2024/10/23
//引数が2の場合
//変換前
Wed Oct 23 07:21:06 JST 2024
//変換後
2024-10-23
//引数が3の場合
//変換前
Wed Oct 23 07:21:29 JST 2024
//変換後
令和6年10月23日
//引数が4の場合
//変換前
Wed Oct 23 07:21:49 JST 2024
//変換後
20241023

Javaの記事の一覧はJava にまとめてあります
