Spec-Zone.ru › OpenJDK 27

Перечисление 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>
Модификатор и тип Класс Описание
static final class  Enum.EnumDesc<E extends Enum<E>>
Номинальный дескриптор константы enum.

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

Константа перечисления Описание
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)
Получает текстовое представление, например «пн» или «пятница».
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
Модификатор и тип Метод Описание
protected final Object clone()
Выбрасывает CloneNotSupportedException.
final int compareTo(DayOfWeek o)
Сравнивает это перечисление с указанным объектом, определяя порядок.
final Optional<Enum.EnumDesc<DayOfWeek>> describeConstable()
Возвращает дескриптор перечисления EnumDesc для этого экземпляра, если его можно создать, или пустой объект Optional, если создать его нельзя.
final boolean equals(Object other)
Возвращает true, если указанный объект равен этой константе перечисления.
protected final void finalize()
Устарело и будет удалено: этот элемент API может быть удалён в будущей версии.
Метод финализации признан устаревшим и будет удалён.
final Class<DayOfWeek> getDeclaringClass()
Возвращает объект Class, соответствующий типу перечисления этой константы.
final int hashCode()
Возвращает хеш-код этой константы перечисления.
final String name()
Возвращает имя этой константы перечисления точно в том виде, в котором оно указано в объявлении перечисления.
final int ordinal()
Возвращает порядковый номер этой константы перечисления (её позицию в объявлении перечисления, где первой константе присваивается номер 0).
String toString()
Возвращает имя этой константы перечисления, указанное в объявлении.
static <T extends Enum<T>>
T
valueOf(Class<T> enumClass, String name)
Возвращает константу указанного класса перечисления с указанным именем.

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

getClass, notify, notifyAll, wait, wait, wait
Модификатор и тип Метод Описание
final Class<?> getClass()
Возвращает класс времени выполнения этого Object.
final void notify()
Пробуждает один поток, ожидающий на мониторе этого объекта.
final void notifyAll()
Пробуждает все потоки, ожидающие на мониторе этого объекта.
final void wait()
Переводит текущий поток в состояние ожидания до его пробуждения, обычно посредством уведомления или прерывания.
final void wait(long timeoutMillis)
Переводит текущий поток в состояние ожидания до его пробуждения, обычно посредством уведомления или прерывания, либо до истечения указанного промежутка реального времени.
final void wait(long timeoutMillis, int nanos)
Переводит текущий поток в состояние ожидания до его пробуждения, обычно посредством уведомления или прерывания, либо до истечения указанного промежутка реального времени.

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

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)
Получает текстовое представление, например «пн» или «пятница».

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

Если текстовое соответствие не найдено, возвращается 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, 2026, 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.

Spec-Zone.ru

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