注目記事

【Javaコード入門】日付/時刻(Date-Time API)_③日付時刻値を整形する - formatメソッド

public String format(DateTimeFormatter formatter)
 formatter:整形に利用するフォーマッター

formatメソッドを利用することで、日付時刻値を規定の形式に整形できます。引数formatterには、DateTimeFormatter型のフォーマッターを指定できます。フォーマッターはDateTimeFormatterクラスのメソッド、定数から生成できます。

メソッド/定数 概要
ofLocalizedDate(dateStyle) ロケール固有の日付スタイル
ofLocalizedTime(timeStyle) ロケール固有の時間スタイル
ofLocalizedDateTime(dateTimeStyle) ロケール固有の日付時間スタイル
ofLocalizedDateTime(dateStyle,timeStyle) ロケールの日付と時間スタイル
BASIC_ISO_DATE 基本的なISO日付
ISO_LOCAL_DATE ローカルなISO日付
ISO_OFFSET_DATE オフセット付きのISO日付
ISO_DATE オフセット付き、またはオフセットなしのISO日付
ISO_LOCAL_TIME オフセットなしの時間
ISO_OFFSET_TIME オフセット付きの時間
ISO_TIME オフセット付き、またはオフセットなしの時間
ISO_LOCAL_DATE_TIME ローカルなISO日付、時間
ISO_OFFSET_DATE_TIME オフセット付きの日付時間
ISO_ZONED_DATE_TIME タイムゾーン付きの日付時間
ISO_DATE_TIME タームゾーンゾーンID付きの日付時間
ISO_ORDINAL_DATE 年と年の日付
ISO_WEEK_DATE 年と週
RFC_1123_DATE_TIME RFC1123/RFC 822

▲DateTimeFormatterクラスのメソッド/定数


  ofLocalizedXxxxxメソッドの引数には、更に、以下のような定数を指定できます。

定数 概要
FULL 最も詳細なスタイル
LONG 長いスタイル
MEDIUM 中程度の長さのスタイル
SHORT 短いスタイル

▲DateTimeFormatterクラスの定数


  以下は、formatメソッドを利用した例です。

TimeFormat.java
  1. package com.example.mynavi.datetime;
  2.  
  3. import java.time.LocalDateTime;
  4. import java.time.ZoneId;
  5. import java.time.ZonedDateTime;
  6. import java.time.format.DateTimeFormatter;
  7. import java.time.format.FormatStyle;
  8.  
  9. public class TimeFormat {
  10.   public static void main(String[] args) {
  11.     var dt1 = LocalDateTime.of(2025, 12, 15, 11, 22, 33);
  12.     var dt2 = ZonedDateTime.of(2025, 12, 15, 11, 22, 33, 0, ZoneId.of("Asia/Tokyo"));
  13.  
  14.     System.out.println(dt1.format(
  15.       DateTimeFormatter.ofLocalizedDate(FormatStyle.FULL)));
  16.     // 結果:2025年12月15日月曜日
  17.     System.out.println(dt2.format(
  18.       DateTimeFormatter.ofLocalizedDateTime(FormatStyle.LONG)));
  19.     // 結果:2025年12月15日 11:22:33 JST
  20.     System.out.println(dt1.format(
  21.       DateTimeFormatter.ofLocalizedDate(FormatStyle.MEDIUM)));
  22.     // 結果:2025/12/15
  23.     System.out.println(dt2.format(
  24.       DateTimeFormatter.ofLocalizedDateTime(FormatStyle.SHORT)));
  25.     // 結果:2025/12/15 11:22
  26.     System.out.println(dt1.format(DateTimeFormatter.ISO_LOCAL_DATE));
  27.     // 結果:2025-12-15
  28.     System.out.println(dt2.format(DateTimeFormatter.ISO_TIME));
  29.     // 結果:11:22:33+09:00
  30.   }
  31. }

 

日付/時刻(Date-Time API)_目次
日付/時刻(Date-Time API)
now/of/parseメソッド
formatメソッド
betweenメソッド
日時データを演算する
Date/Calendarクラス⇔DateTime-APIのクラスを相互変換する

監修

山田祥寛(有限会社 WINGSプロジェクト)
静岡県榛原町生まれ。一橋大学経済学部卒業後、NEC にてシステム企画業務に携わるが、2003年 4 月に念願かなってフリーライターに転身。Microsoft MVP for Visual Studio and Development Technologies。執筆コミュニティ「WINGSプロジェクト(https://wings.msn.to/)」の代表でもある。主な著書に『改訂 3 版JavaScript 本格入門』(技術評論社)、「独習シリーズ(C#・Python・PHP・Ruby・JSP&サーブレットなど)」(翔泳社)、「速習シリーズ(ASP.NET Core・Vue.js・React・TypeScript・ECMAScript、Laravel など)」(Amazon Kindle)など。売り上げの累計は100万部を超える。