Spec-Zone.ru › OpenJDK 25

Перечисление DayOfWeek

java.lang.Object
java.lang.Enum<DayOfWeek>
java.time.DayOfWeek
Все реализуемые интерфейсы:
Serializable, Comparable<DayOfWeek>, Constable, TemporalAccessor, TemporalAdjuster
public enum DayOfWeek extends Enum<DayOfWeek> implements TemporalAccessor, TemporalAdjuster
День недели, например «вторник».

DayOfWeek — это перечисление, представляющее 7 дней недели: понедельник, вторник, среду, четверг, пятницу, субботу и воскресенье.

Помимо текстового имени перечисления, у каждого дня недели есть значение int. Значение int соответствует стандарту ISO-8601: от 1 (понедельник) до 7 (воскресенье). Для большей ясности кода рекомендуется использовать перечисление, а не значение int.

Это перечисление предоставляет доступ к локализованному текстовому представлению дня недели. В некоторых локалях дням присваиваются другие числовые значения: воскресенье может иметь значение 1, однако этот класс не поддерживает такой вариант. Информацию о локализованной нумерации недель см. в разделе WeekFields.

Не используйте ordinal() для получения числового представления DayOfWeek. Вместо этого используйте getValue().

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

Требования к реализации:
Это неизменяемое и потокобезопасное перечисление.
С версии:
1.8

Краткое описание вложенных классов

Вложенные классы/интерфейсы, объявленные в классе Enum

Enum.EnumDesc<E>

Краткое описание констант перечисления

Константа перечисления Описание
FRIDAY
Единственный экземпляр для пятницы.
MONDAY
Единственный экземпляр для понедельника.
SATURDAY
Единственный экземпляр для субботы.
SUNDAY
Единственный экземпляр для воскресенья.
THURSDAY
Единственный экземпляр для четверга.
TUESDAY
Единственный экземпляр для вторника.
WEDNESDAY
Единственный экземпляр для среды.

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

Модификатор и тип Метод Описание
Temporal adjustInto(Temporal temporal)
Изменяет указанный объект временных данных так, чтобы он соответствовал этому дню недели.
static DayOfWeek from(TemporalAccessor temporal)
Получает экземпляр DayOfWeek из объекта временных данных.
int get(TemporalField field)
Получает значение указанного поля для этого дня недели в виде int.
String getDisplayName(TextStyle style, Locale locale)
Получает текстовое представление, например «Mon» или «Friday».
long getLong(TemporalField field)
Получает значение указанного поля для этого дня недели в виде long.
int getValue()
Получает int-значение дня недели.
boolean isSupported(TemporalField field)
Проверяет, поддерживается ли указанное поле.
DayOfWeek minus(long days)
Возвращает день недели, который наступает за указанное число дней до этого дня.
static DayOfWeek of(int dayOfWeek)
Получает экземпляр DayOfWeek из значения int.
DayOfWeek plus(long days)
Возвращает день недели, который наступает через указанное число дней после этого дня.
<R> R query(TemporalQuery<R> query)
Выполняет запрос к этому дню недели с помощью указанного запроса.
ValueRange range(TemporalField field)
Получает диапазон допустимых значений указанного поля.
static DayOfWeek valueOf(String name)
Возвращает константу перечисления этого класса с указанным именем.
static DayOfWeek[] values()
Возвращает массив, содержащий константы этого класса перечисления в порядке их объявления.

Методы, объявленные в классе Enum

clone, compareTo, describeConstable, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf

Методы, объявленные в классе Object

getClass, notify, notifyAll, wait, wait, wait

Подробное описание констант перечисления

MONDAY

public static final DayOfWeek MONDAY
Единственный экземпляр для понедельника. Его числовое значение — 1.

TUESDAY

public static final DayOfWeek TUESDAY
Единственный экземпляр для вторника. Его числовое значение — 2.

WEDNESDAY

public static final DayOfWeek WEDNESDAY
Единственный экземпляр для среды. Его числовое значение — 3.

THURSDAY

public static final DayOfWeek THURSDAY
Единственный экземпляр для четверга. Его числовое значение — 4.

FRIDAY

public static final DayOfWeek FRIDAY
Единственный экземпляр для пятницы. Его числовое значение — 5.

SATURDAY

public static final DayOfWeek SATURDAY
Единственный экземпляр для субботы. Его числовое значение — 6.

SUNDAY

public static final DayOfWeek SUNDAY
Единственный экземпляр для воскресенья. Его числовое значение — 7.

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

values

public static DayOfWeek[] values()
Возвращает массив, содержащий константы этого класса перечисления в порядке их объявления.
Возвращает:
массив, содержащий константы этого класса перечисления в порядке их объявления

valueOf

public static DayOfWeek valueOf(String name)
Возвращает константу перечисления этого класса с указанным именем. Строка должна точно совпадать с идентификатором, использованным для объявления константы перечисления в этом классе. (Лишние пробелы не допускаются.)
Параметры:
name — имя возвращаемой константы перечисления.
Возвращает:
константу перечисления с указанным именем
Вызывает исключение:
IllegalArgumentException — если в этом классе перечисления нет константы с указанным именем
NullPointerException — если аргумент равен null

of

public static DayOfWeek of(int dayOfWeek)
Получает экземпляр DayOfWeek из значения int.

DayOfWeek — это перечисление, представляющее 7 дней недели. Этот метод-фабрика позволяет получить элемент перечисления по значению int. Значение int соответствует стандарту ISO-8601: от 1 (понедельник) до 7 (воскресенье).

Параметры:
dayOfWeek — представляемый день недели: от 1 (понедельник) до 7 (воскресенье)
Возвращает:
единственный экземпляр дня недели, не null
Вызывает исключение:
DateTimeException — если указано недопустимое значение дня недели

from

public static DayOfWeek from(TemporalAccessor temporal)
Получает экземпляр DayOfWeek из объекта временных данных.

Метод получает день недели на основе указанных временных данных. TemporalAccessor представляет произвольный набор сведений о дате и времени, который этот метод-фабрика преобразует в экземпляр DayOfWeek.

Преобразование извлекает поле DAY_OF_WEEK.

Сигнатура этого метода соответствует функциональному интерфейсу TemporalQuery, что позволяет использовать его в качестве запроса посредством ссылки на метод: DayOfWeek::from.

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

getValue

public int getValue()
Получает int-значение дня недели.

Значения пронумерованы согласно стандарту ISO-8601: от 1 (понедельник) до 7 (воскресенье). Информацию о локализованной нумерации недель см. в разделе WeekFields.dayOfWeek().

Возвращает:
день недели: от 1 (понедельник) до 7 (воскресенье)

getDisplayName

public String getDisplayName(TextStyle style, Locale locale)
Получает текстовое представление, например «Mon» или «Friday».

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

Если текстовое соответствие не найдено, возвращается numeric value.

Параметры:
style — требуемая длина текста, не null
locale — используемая локаль, не null
Возвращает:
текстовое значение дня недели, не null

isSupported

public boolean isSupported(TemporalField field)
Проверяет, поддерживается ли указанное поле.

Метод проверяет, можно ли запросить у этого дня недели значение указанного поля. Если метод возвращает false, вызов методов range и get приведет к выбросу исключения.

Для поля DAY_OF_WEEK этот метод возвращает true. Для всех остальных экземпляров ChronoField возвращается false.

Если поле не является ChronoField, результат этого метода получается вызовом TemporalField.isSupportedBy(TemporalAccessor) с передачей this в качестве аргумента. Поддержка поля определяется самим полем.

Определено в:
isSupported в интерфейсе TemporalAccessor
Параметры:
field — проверяемое поле; null возвращает false
Возвращает:
true, если это поле поддерживается для данного дня недели; в противном случае false

range

public ValueRange range(TemporalField field)
Получает диапазон допустимых значений указанного поля.

Объект диапазона задает минимальное и максимальное допустимые значения поля. Этот день недели используется для повышения точности возвращаемого диапазона. Если вернуть диапазон невозможно из-за неподдерживаемого поля или по иной причине, выбрасывается исключение.

Для поля DAY_OF_WEEK возвращается диапазон дней недели от 1 до 7. Для всех остальных экземпляров ChronoField выбрасывается UnsupportedTemporalTypeException.

Если поле не является ChronoField, результат этого метода получается вызовом TemporalField.rangeRefinedBy(TemporalAccessor) с передачей this в качестве аргумента. Возможность получить диапазон определяется самим полем.

Определено в:
range в интерфейсе TemporalAccessor
Параметры:
field — поле, диапазон которого требуется получить, не null
Возвращает:
диапазон допустимых значений поля, не null
Вызывает исключение:
DateTimeException — если диапазон поля невозможно получить
UnsupportedTemporalTypeException — если поле не поддерживается

get

public int get(TemporalField field)
Получает значение указанного поля для этого дня недели в виде int.

Метод запрашивает у этого дня недели значение указанного поля. Возвращаемое значение всегда входит в диапазон допустимых значений поля. Если вернуть значение невозможно из-за неподдерживаемого поля или по иной причине, выбрасывается исключение.

Для поля DAY_OF_WEEK возвращается значение дня недели от 1 до 7. Для всех остальных экземпляров ChronoField выбрасывается UnsupportedTemporalTypeException.

Если поле не является ChronoField, результат этого метода получается вызовом TemporalField.getFrom(TemporalAccessor) с передачей this в качестве аргумента. Возможность получить значение и его смысл определяются самим полем.

Определено в:
get в интерфейсе TemporalAccessor
Параметры:
field — поле, значение которого требуется получить, не null
Возвращает:
значение поля в пределах допустимого диапазона
Вызывает исключение:
DateTimeException — если значение поля невозможно получить или оно выходит за пределы допустимого диапазона значений поля
UnsupportedTemporalTypeException — если поле не поддерживается или диапазон значений превышает int
ArithmeticException — при переполнении числового значения

getLong

public long getLong(TemporalField field)
Получает значение указанного поля для этого дня недели в виде long.

Метод запрашивает у этого дня недели значение указанного поля. Если вернуть значение невозможно из-за неподдерживаемого поля или по иной причине, выбрасывается исключение.

Для поля DAY_OF_WEEK возвращается значение дня недели от 1 до 7. Для всех остальных экземпляров ChronoField выбрасывается UnsupportedTemporalTypeException.

Если поле не является ChronoField, результат этого метода получается вызовом TemporalField.getFrom(TemporalAccessor) с передачей this в качестве аргумента. Возможность получить значение и его смысл определяются самим полем.

Определено в:
getLong в интерфейсе TemporalAccessor
Параметры:
field — поле, значение которого требуется получить, не null
Возвращает:
значение поля
Вызывает исключение:
DateTimeException — если значение поля невозможно получить
UnsupportedTemporalTypeException — если поле не поддерживается
ArithmeticException — при переполнении числового значения

plus

public DayOfWeek plus(long days)
Возвращает день недели, который наступает через указанное число дней после этого дня.

При вычислении переход через конец недели выполняется от воскресенья к понедельнику. Указанный период может быть отрицательным.

Этот экземпляр неизменяем и не изменяется при вызове данного метода.

Параметры:
days — число дней для прибавления, положительное или отрицательное
Возвращает:
полученный день недели, не null

minus

public DayOfWeek minus(long days)
Возвращает день недели, который наступает за указанное число дней до этого дня.

При вычислении переход через начало недели выполняется от понедельника к воскресенью. Указанный период может быть отрицательным.

Этот экземпляр неизменяем и не изменяется при вызове данного метода.

Параметры:
days — число дней для вычитания, положительное или отрицательное
Возвращает:
полученный день недели, не null

query

public <R> R query(TemporalQuery<R> query)
Выполняет запрос к этому дню недели с помощью указанного запроса.

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

Результат этого метода получается вызовом метода TemporalQuery.queryFrom(TemporalAccessor) для указанного запроса с передачей this в качестве аргумента.

Определено в:
query в интерфейсе TemporalAccessor
Параметры типа:
R — тип результата
Параметры:
query — вызываемый запрос, не null
Возвращает:
результат запроса; может быть возвращено значение null (определяется запросом)
Вызывает исключение:
DateTimeException — если выполнить запрос не удалось (определяется запросом)
ArithmeticException — при переполнении числового значения (определяется запросом)

adjustInto

public Temporal adjustInto(Temporal temporal)
Изменяет указанный объект временных данных так, чтобы он соответствовал этому дню недели.

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

Корректировка эквивалентна использованию Temporal.with(TemporalField, long) с передачей ChronoField.DAY_OF_WEEK в качестве поля. Обратите внимание, что корректировка выполняется вперед или назад в пределах недели с понедельника по воскресенье. Информацию о локализованных днях начала недели см. в разделе WeekFields.dayOfWeek(). Другие корректировщики с более широкими возможностями, например next(MONDAY), см. в разделе TemporalAdjuster.

В большинстве случаев код будет понятнее, если изменить порядок вызова и использовать Temporal.with(TemporalAdjuster):

  // these two lines are equivalent, but the second approach is recommended
  temporal = thisDayOfWeek.adjustInto(temporal);
  temporal = temporal.with(thisDayOfWeek);

Например, если задана дата, приходящаяся на среду, будут выведены следующие результаты:

  dateOnWed.with(MONDAY);     // two days earlier
  dateOnWed.with(TUESDAY);    // one day earlier
  dateOnWed.with(WEDNESDAY);  // same date
  dateOnWed.with(THURSDAY);   // one day later
  dateOnWed.with(FRIDAY);     // two days later
  dateOnWed.with(SATURDAY);   // three days later
  dateOnWed.with(SUNDAY);     // four days later

Этот экземпляр неизменяем и не изменяется при вызове данного метода.

Определено в:
adjustInto в интерфейсе TemporalAdjuster
Параметры:
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/DayOfWeek.html

Spec-Zone.ru

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