Перечисление 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 |
Изменяет указанный объект временных данных так, чтобы он соответствовал этому дню недели. |
static DayOfWeek |
from |
Получает экземпляр DayOfWeek из объекта временных данных. |
int |
get |
Получает значение указанного поля для этого дня недели в виде int. |
String |
getDisplayName |
Получает текстовое представление, например «Mon» или «Friday». |
long |
getLong |
Получает значение указанного поля для этого дня недели в виде long. |
int |
getValue() |
Получает int-значение дня недели. |
boolean |
isSupported |
Проверяет, поддерживается ли указанное поле. |
DayOfWeek |
minus |
Возвращает день недели, который наступает за указанное число дней до этого дня. |
static DayOfWeek |
of |
Получает экземпляр DayOfWeek из значения int. |
DayOfWeek |
plus |
Возвращает день недели, который наступает через указанное число дней после этого дня. |
<R> R |
query |
Выполняет запрос к этому дню недели с помощью указанного запроса. |
ValueRange |
range |
Получает диапазон допустимых значений указанного поля. |
static DayOfWeek |
valueOf |
Возвращает константу перечисления этого класса с указанным именем. |
static DayOfWeek[] |
values() |
Возвращает массив, содержащий константы этого класса перечисления в порядке их объявления. |
Подробное описание констант перечисления
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— при переполнении числового значения
© 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