JavaGold資格取得に向けた勉強記第26回は「DateTimeFormatter」についてです。
JavaのDateTimeFormatter
は、日付や時刻のフォーマットおよびパースを行うためのクラスです。
DateTimeFormatter
は、日付や時刻を文字列に変換したり、文字列を日付や時刻に変換したりする際に使用されます。
この記事では、JavaのDateTimeFormatter
について詳しく説明します。
DateTimeFormatterクラス
Javaの DateTimeFormatter
クラスは、日付と時刻を指定したフォーマットで表示したり、文字列から日付や時刻をパースしたりするための強力なツールです。
このクラスのインスタンスを生成するには、次の3つの方法があります。
- 事前に定義された定数を使用する
- パターン文字を使用する
- ローカライズされたスタイルを使用する
事前に定義された定数を使用する
日付のフォーマットには、ISO8601という国際規格があります。この規格に則って日付・時刻のフォーマットを行うには、DateTimeFormatter
クラスにあらかじめ定義されている定数を利用します。
BASIC_ISO_DATE
- パターン:
"yyyyMMdd"
- 例:
20220131
ISO_LOCAL_DATE
- パターン:
"yyyy-MM-dd"
- 例:
2022-01-31
ISO_LOCAL_TIME
- パターン:
"HH:mm:ss"
- 例:
12:30:45
ISO_LOCAL_DATE_TIME
- パターン:
"yyyy-MM-dd'T'HH:mm:ss"
- 例:
2022-01-31T12:30:45
これらの定数は、次のコードのように使用できます。この例では、ISO_DATEという定数を使って、static領域にあるDateTimeFormatter
のインスタンスへの参照を取得して、現在日付をもったLocalDate
のインスタンスを渡してフォーマットし、コンソールに表示しています。
DateTimeFormatter isoDateFormatter = DateTimeFormatter.ISO_DATE;
System.out.println(isoDateFormatter.format(LocalDate.now()));
DateTimeFormatter
クラスのformat
メソッドは、LocalDateやLocalDateTimeなどのインスタンスへの参照を受け取り、書式を適用した文字列に変換します。
最後に
JavaのDateTimeFormatter
は、日付や時刻のフォーマットおよびパースを行うための便利なクラスです。
日付や時刻の文字列を特定の形式にフォーマットしたり、逆に文字列から日付や時刻を解析したりする際に役立ちます。
適切なパターン文字列と必要に応じたロケールを指定することで、多様なフォーマット要件を満たすことができます。