Java : TemporalAdjuster (日付・時刻の調整) - API使用例
TemporalAdjuster (Java SE 21 & JDK 21) の使い方まとめです。
だいたいのメソッドを網羅済みです。
API仕様書のおともにどうぞ。
概要
TemporalAdjuster は、日付や時刻の値を、別の値へと調整するためのインタフェースです。
TemporalAdjusters ユーティリティを使うと、例えば
- 月の最初の日
- 月の最後の日
に調整する TemporalAdjuster を取得することができます。
final var temporal = LocalDateTime.of(2100, 4, 10, 17, 30);
System.out.println(temporal); // 2100-04-10T17:30
final TemporalAdjuster adjuster = LocalDate.of(1999, 1, 2);
System.out.println(adjuster); // 1999-01-02
final var ret = adjuster.adjustInto(temporal);
System.out.println(ret); // 1999-01-02T17:30
final var date = LocalDate.of(2100, Month.APRIL, 15);
System.out.println(date); // 2100-04-15
final var adjuster1 = TemporalAdjusters.firstDayOfMonth();
System.out.println(date.with(adjuster1)); // 2100-04-01
final var adjuster2 = TemporalAdjusters.lastDayOfMonth();
System.out.println(date.with(adjuster2)); // 2100-04-30
メソッド
Temporal adjustInto (Temporal temporal)
final var temporal = LocalDateTime.of(2100, 4, 10, 17, 30);
System.out.println(temporal); // 2100-04-10T17:30
final TemporalAdjuster adjuster = LocalDate.of(1999, 1, 2);
System.out.println(adjuster); // 1999-01-02
final var ret = adjuster.adjustInto(temporal);
System.out.println(ret); // 1999-01-02T17:30
関連記事
- 日付・時刻の基本
- Date, CalendarではなくLocalDateTime, ZonedDateTimeを使おう
- 文字列と日付・時刻の変換
- 日付と時刻、曜日の計算
- 現在時刻(日時)の取得いろいろ
- 現在の曜日(DayOfWeek)を取得
- ZoneIdとZoneOffsetの違い
- API 使用例
- Calendar (カレンダー)
- ChronoLocalDate
- ChronoLocalDateTime
- ChronoZonedDateTime
- Clock (時計)
- Date (日付・時刻)
- DateTimeException (日付・時刻の例外)
- DateTimeParseException (日付・時刻の解析例外)
- DayOfWeek (曜日)
- Duration (時間の量)
- Era (紀元)
- Instant (時点)
- InstantSource
- JapaneseDate (和暦を使った日付)
- LocalDate (日付・タイムゾーンなし)
- LocalDateTime (日時・タイムゾーンなし)
- LocalTime (時刻・タイムゾーンなし)
- Month (月)
- MonthDay (月・日)
- OffsetDateTime (日時・オフセットあり)
- OffsetTime (時刻・オフセットあり)
- Period (日付の量)
- Temporal
- TemporalAccessor
- TemporalAdjusters (日付・時刻の調整ユーティリティ)
- TimeZone (タイムゾーン)
- Year (年)
- YearMonth (年・月)
- ZonedDateTime (日時・タイムゾーンあり)
- ZoneId (タイムゾーンID)
- ZoneOffset (タイムゾーン・オフセット)