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