Spec-Zone.ru › OpenJDK 25

Интерфейс TemporalAdjuster

Все известные подинтерфейсы:
ChronoLocalDate, ChronoLocalDateTime<D>, Era
Все известные реализующие классы:
DayOfWeek, HijrahDate, HijrahEra, Instant, IsoEra, JapaneseDate, JapaneseEra, LocalDate, LocalDateTime, LocalTime, MinguoDate, MinguoEra, Month, MonthDay, OffsetDateTime, OffsetTime, ThaiBuddhistDate, ThaiBuddhistEra, Year, YearMonth, ZoneOffset
Функциональный интерфейс:
Это функциональный интерфейс, поэтому его можно использовать в качестве цели присваивания для лямбда-выражения или ссылки на метод.
@FunctionalInterface public interface TemporalAdjuster
Стратегия для корректировки объекта времени.

Средства корректировки — важный инструмент для изменения объектов времени. Они позволяют вынести процесс корректировки во внешний код, поддерживая различные подходы в соответствии с шаблоном проектирования «Стратегия». Например, средство корректировки может устанавливать дату, избегая выходных, или устанавливать дату на последний день месяца.

Существует два эквивалентных способа использования TemporalAdjuster. Первый — непосредственно вызвать метод этого интерфейса. Второй — использовать Temporal.with(TemporalAdjuster):

  // these two lines are equivalent, but the second approach is recommended
  temporal = thisAdjuster.adjustInto(temporal);
  temporal = temporal.with(thisAdjuster);
Рекомендуется использовать второй подход, with(TemporalAdjuster), поскольку такой код гораздо понятнее.

Класс TemporalAdjusters содержит стандартный набор средств корректировки, доступных в виде статических методов. К ним относятся:

  • поиск первого или последнего дня месяца
  • поиск первого дня следующего месяца
  • поиск первого или последнего дня года
  • поиск первого дня следующего года
  • поиск первого или последнего дня недели в месяце, например «первая среда июня»
  • поиск следующего или предыдущего дня недели, например «следующий четверг»
Требования к реализации:
Этот интерфейс не накладывает ограничений на изменяемость реализаций, однако настоятельно рекомендуется использовать неизменяемые реализации.
С версии:
1.8
См. также:
  • TemporalAdjusters

Краткое описание методов

Модификатор и тип Метод Описание
Temporal adjustInto(Temporal temporal)
Корректирует указанный объект времени.

Подробное описание методов

adjustInto

Temporal adjustInto(Temporal temporal)
Корректирует указанный объект времени.

Метод корректирует указанный объект времени, используя логику, заключенную в реализующем классе. Например, средство корректировки может устанавливать дату, избегая выходных, или устанавливать дату на последний день месяца.

Существует два эквивалентных способа использования этого метода. Первый — вызвать этот метод напрямую. Второй — использовать Temporal.with(TemporalAdjuster):

  // these two lines are equivalent, but the second approach is recommended
  temporal = thisAdjuster.adjustInto(temporal);
  temporal = temporal.with(thisAdjuster);
Рекомендуется использовать второй подход, with(TemporalAdjuster), поскольку такой код гораздо понятнее.
Требования к реализации:
Реализация должна принять входной объект и скорректировать его. Реализация определяет логику корректировки и отвечает за ее документирование. Для получения сведений об объекте времени и выполнения корректировки можно использовать любой метод из Temporal. Возвращаемый объект должен иметь тот же наблюдаемый тип, что и входной объект.

Входной объект нельзя изменять. Вместо этого необходимо вернуть скорректированную копию исходного объекта. Это обеспечивает эквивалентное и безопасное поведение как для неизменяемых, так и для изменяемых объектов времени.

Входной объект времени может относиться к календарной системе, отличной от ISO. Реализации могут документировать совместимость с другими календарными системами или отклонять объекты времени, не относящиеся к ISO, с помощью querying the chronology.

Этот метод может вызываться параллельно из нескольких потоков. При вызове он должен быть потокобезопасным.

Параметры:
temporal — объект времени для корректировки; не null
Возвращает:
объект того же наблюдаемого типа с выполненной корректировкой; не null
Вызывает:
DateTimeException — если выполнить корректировку невозможно
ArithmeticException — при числовом переполнении

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по API и документацию для разработчиков см. в документации Java SE, содержащей более подробные описания для разработчиков, концептуальные обзоры, определения терминов, обходные решения и примеры работающего кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или ее аффилированных лиц в США и других странах.
Авторские права © 1993, 2025, Oracle и/или ее аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 1993, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/time/temporal/TemporalAdjuster.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API