DateTimeFormatterは日付と時刻のフォーマットとパースを行うためのクラスです。
DateTimeFormatterの特徴
- Java SE8で導入された
- イミュータブルオブジェクトなので値を安全に扱える
DateTimeFormatterの継承・実装
継承クラス
・java.lang.Object
・java.time.format.DateTimeFormatter
実装インターフェース
・なし
導入バージョン
・JDK1.8
DateTimeFormatterのAPI
型 | 定数 | 説明 |
---|---|---|
DateTimeFormatter | BASIC_ISO_DATE | 基本的なISO日付 (例)’20230831′ |
DateTimeFormatter | ISO_LOCAL_DATE | ISOローカル日付 (例)’2023-12-31′ |
DateTimeFormatter | ISO_ZONED_DATE_TIME | ゾーン指定の日付時間 (例)’2023-08-31T10:20:30+09:00[Asia/Tokyo]’ |
DateTimeFormatter | ISO_INSTANT | インスタントの日付および時間 (例)’2023-12-03T08:35:58Z’ ※ZonedDateTimeクラスでのみ使用可 |
DateTimeFormatter | ISO_DATE | ISO日付フォーマット (オフセットあり/なし) (例)’2023-12-03′ ‘2023-12-03+09:00’ |
DateTimeFormatter | ISO_TIME | ISO時間フォーマット (オフセットあり/なし) (例)’10:20:30′ ’10:20:30+09:00′ |
DateTimeFormatter | ISO_DATE_TIME | ISO日付時間フォーマット (オフセットあり/なし) (例)’2023-12-03T10:20:30′ ‘2023-12-03T10:20:30+09:00’ |
戻値型 | メソッド | 静的 | 説明 |
---|---|---|---|
DateTimeFormatter | ofPattern(String pattern) | 〇 | 指定したパターンでフォーマッタを生成する |
Locale | getLocale() | ロケール情報を取得する | |
ZoneId | getZone() | タイムゾーン情報を取得する | |
Format | toFormat() | java.text.Formatインスタンスとして返す |
DateTimeFormatterサンプルソース
- (LocalDateTime型の現在日時をフォーマットする)
-
LocalDateTime now = LocalDateTime.now(); DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); String dateStr = now.format(dtf); System.out.println(dateStr); 例 → 2023-09-02 14:06:43
- (日付文字列をLocalDateTime型に変換する)
-
String dateTimeString = "2023-09-02 14:30:01"; LocalDateTime ldt = LocalDateTime.parse(dateTimeString, dtf); System.out.println(ldt); → 2023-09-02T14:30:01
コメント