【Java】日時データを書式文字列に変換する

Javaで日時のデータを扱う際、指定のフォーマット(書式)で文字列変換する方法をメモします。

Javaにおける日付や時刻のデータ生成にはいくつかの方法やAPIがありますが、
今回の記事ではDateクラス、LocalDateTimeクラスから生成した日付データをフォーマット使った例で解説します。

Dateクラス【 SimpleDateFormat 】でフォーマット

Dateクラスで生成した日付インスタンスをフォーマットする際は、
java.textパッケージのSimpleDateFormatクラスをインポートして使用する。

//現在の日付データを生成
Date now = new Date();

//書式を指定
SimpleDateFormat simpledateformat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");

//指定の書式に日付データを渡す
String simpledateformated = simpledateformat.format(now);

System.out.println(simpledateformated);
コンソール出力結果
2019/01/13 09:47:41

SimpleDateFormatのインスタンスを生成する際に日時の書式を引数に渡す。

formatメソッドへ日時データであるDateインスタンスを渡して文字列へ変換している。

※文字列からDate型へ変換する場合
SimpleDateFormatのparseメソッドを使用する

Date parsedDate = simpledateformat.parse(simpledateformated);

LocalDateTimeクラス【 DateTimeFormatter 】でフォーマット

LocalDateTimeクラスで生成した日付インスタンスをフォーマットする際は、
java.time.formatパッケージのDateTimeFormatterクラスをインポートして使用する。

//現在の日付データを生成
LocalDateTime localDateTime = LocalDateTime.now();

//書式を指定
DateTimeFormatter datetimeformatter = DateTimeFormatter.ofPattern("yyyy/MM/dd/ HH:mm:ss");

//指定の書式に日付データを渡す
String datetimeformated = datetimeformatter.format(localDateTime);

System.out.println(datetimeformated);
コンソール出力結果
2019/01/13 09:47:41

LocalDateTimeクラスで現在の日時を生成する際はnowメソッドを使用する。

DateTimeFormatterクラスのofPatternメソッドを使用して書式日時のインスタンスを生成する。

DateTimeFormatterインスタンスのformatメソッドへLocalDateTimeインスタンスを渡して文字列へ変換している。

Follow me!