スポンサーリンク
Java

【Java】Date型をStringに変換

Java

Date型で日付を扱っていると

「Sat Oct 29 00:30:00 JST 2022」

このように日本人からすると読みにくい

フォーマットになっています。

なじみのある

「2022年10月29日0時30分」のような

フォーマットに変換する方法を解説します。

SimpleDateFormatクラスを利用する

JavaのDateオブジェクトをStringに変換するには、SimpleDateFormatを使用することができます。SimpleDateFormatは、指定した書式で日付をフォーマットしたり、解析したりするためのクラスです。指定した形式で日付情報を表示できます。

書式文字列(一部)

以下を組み合わせることで任意のパターンで取得できます。

文字意味
y
M
d
E曜日
a/p午前/午後
H時(0 ~ 23)
K時(0 ~ 11)
m
s

実際のコード

Dateオブジェクトをyyyy/MM/dd形式の文字列に変換するには、次のようにします。

import java.text.SimpleDateFormat;
import java.util.Date;

public class Main {
    public static void main(String args[]) {
        Date dt = new Date();
        SimpleDateFormat sf = 
           new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
        String str = sf.format(dt);
        System.out.println(str);
    }
}
実行結果
2022/10/29 02:36:13

実行結果から指定したフォーマット通りに出力されていることが確認できます。

 

StringをDateに変換する方法

特定の日時時点をDate型に変換する方法を紹介します。

import java.text.SimpleDateFormat;
import java.util.Date;
import java.text.ParseException;

public class Main {
    public static void main(String args[]) throws ParseException {

        SimpleDateFormat sf = 
           new SimpleDateFormat("yyyy年MM月dd日");
        String birthday = "1991年12月31日"
        Date birthDate = sf.parse(birthday);
    }
}

Calendar⇔Stringの変換はこちら

parse()を行う際にParseExceptionが促されるので

try-catchで囲む。もしくはthrowsして対応しましょう。