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

【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 にまとめてあります

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

PAGE TOP