Перечисление 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
Краткое описание вложенных классов
Вложенные классы/интерфейсы, объявленные в классе java.lang.Enum
Enum.EnumDesc<E extends Enum<E>>
Краткое описание констант перечисления
| Константа перечисления | Описание |
|---|---|
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() |
Возвращает массив, содержащий константы этого класса перечисления, в порядке их объявления. |
Подробности констант перечисления
ПОНЕДЕЛЬНИК
public static final DayOfWeek MONDAY
1.ВТОРНИК
public static final DayOfWeek TUESDAY
2.СРЕДА
public static final DayOfWeek WEDNESDAY
3.ЧЕТВЕРГ
public static final DayOfWeek THURSDAY
4.ПЯТНИЦА
public static final DayOfWeek FRIDAY
5.СУББОТА
public static final DayOfWeek SATURDAY
6.ВОСКРЕСЕНЬЕ
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 в качестве аргумента. Возможность получения значения и то, что оно представляет, определяется полем.
- Specified by:
-
getLongв интерфейсеTemporalAccessor - Parameters:
-
field- поле для получения, не null - Returns:
- значение для поля
- Throws:
-
DateTimeException- если значение для поля получить невозможно -
UnsupportedTemporalTypeException- если поле не поддерживается -
ArithmeticException- если происходит переполнение чисел
plus
public DayOfWeek plus(long days)
Вычисление переходит к концу недели от воскресенья к понедельнику. Указанный период может быть отрицательным.
Этот экземпляр неизменяемый и не затрагивается этим вызовом метода.
- Parameters:
-
days- дни для добавления, положительные или отрицательные - Returns:
- результирующий день недели, не null
minus
public DayOfWeek minus(long days)
Вычисление переходит к началу недели от понедельника к воскресенью. Указанный период может быть отрицательным.
Этот экземпляр неизменяемый и не затрагивается этим вызовом метода.
- Parameters:
-
days- дни для вычитания, положительные или отрицательные - Returns:
- результирующий день недели, не null
query
public <R> R query(TemporalQuery<R> query)
Запрашивает этот день недели, используя указанный объект стратегии запроса. Объект TemporalQuery определяет логику, используемую для получения результата. Прочитайте документацию запроса, чтобы понять, что будет результатом этого метода.
Результат этого метода получается путем вызова метода TemporalQuery.queryFrom(TemporalAccessor) на указанном запросе, передав this в качестве аргумента.
- Specified by:
-
queryв интерфейсеTemporalAccessor - Type Parameters:
R- тип результата- Parameters:
-
query- запрос для вызова, не null - Returns:
- результат запроса, может быть null (определяется запросом)
- Throws:
-
DateTimeException- если запрос выполнить невозможно (определяется запросом) -
ArithmeticException- если происходит переполнение чисел (определяется запросом)
adjustInto
public Temporal adjustInto(Temporal temporal)
Возвращает временной объект того же наблюдаемого типа, что и входной, с днем недели, измененным на такой же, как этот.
Настройка эквивалентна использованию Temporal.with(TemporalField, long), передав ChronoField.DAY_OF_WEEK как поле. Обратите внимание, что это настройка вперед или назад в рамках недели с понедельника по воскресенье. См. WeekFields.dayOfWeek() для локально определенных дней начала недели. См. TemporalAdjuster для других настраивателей с большим контролем, таких как next(MONDAY).
В большинстве случаев проще перевернуть порядок вызова, используя 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
Этот экземпляр неизменяемый и не затрагивается этим вызовом метода.
- Specified by:
-
adjustIntoв интерфейсеTemporalAdjuster - Parameters:
-
temporal- целевой объект для настройки, не null - Returns:
- настроенный объект, не null
- Throws:
-
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://download.java.net/java/early_access/jdk24/docs/api/java.base/java/time/DayOfWeek.html