Перечисление DayOfWeek
- java.lang.Object
-
- java.lang.Enum<DayOfWeek>
-
- java.time.DayOfWeek
- Все реализованные интерфейсы:
-
Serializable,Comparable<DayOfWeek>,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
Постоянные значения перечисления
| Постоянное значение перечисления | Описание |
|---|---|
FRIDAY | Единственный экземпляр для дня недели пятница. |
MONDAY | Единственный экземпляр для дня недели понедельник. |
SATURDAY | Единственный экземпляр для дня недели суббота. |
SUNDAY | Единственный экземпляр для дня недели воскресенье. |
THURSDAY | Единственный экземпляр для дня недели четверг. |
TUESDAY | Единственный экземпляр для дня недели вторник. |
WEDNESDAY | Единственный экземпляр для дня недели среда. |
Методы
| Модификатор и тип | Метод | Описание |
|---|---|---|
Temporal | adjustInto(Temporal temporal) | Настраивает указанный временной объект, чтобы указать день недели. |
static DayOfWeek | from(TemporalAccessor temporal) | Получает экземпляр |
int | get(TemporalField field) | Получает значение указанного поля из этого дня недели в виде |
String | getDisplayName(TextStyle style,
Locale locale) | Получает текстовое представление, например, «Пн» или «Пятница». |
long | getLong(TemporalField field) | Получает значение указанного поля из этого дня недели в виде |
int | getValue() | Получает значение дня недели |
boolean | isSupported(TemporalField field) | Проверяет, поддерживается ли указанное поле. |
DayOfWeek | minus(long days) | Возвращает день недели, предшествующий этому на указанное количество дней. |
static DayOfWeek | of(int dayOfWeek) | Получает экземпляр |
DayOfWeek | plus(long days) | Возвращает день недели, следующий за этим на указанное количество дней. |
<R> R | query(TemporalQuery<R> query) | Запрашивает этот день недели с использованием указанного запроса. |
ValueRange | range(TemporalField field) | Получает диапазон допустимых значений для указанного поля. |
static DayOfWeek | valueOf(String name) | Возвращает константу перечисления этого типа с указанным именем. |
static DayOfWeek[] | values() | Возвращает массив, содержащий константы этого типа перечисления в порядке их объявления. |
Методы, объявленные в классе java.lang.Enum
clone, compareTo, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf Методы, объявленные в классе java.lang.Object
getClass, notify, notifyAll, wait, wait, wait Постоянные значения перечисления
ПОНЕДЕЛЬНИК
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()
Возвращает массив, содержащий константы этого типа перечисления в порядке их объявления. Этот метод можно использовать для итерации по константам следующим образом:
for (DayOfWeek c : DayOfWeek.values()) System.out.println(c);
- Возвращает:
- массив, содержащий константы этого типа перечисления в порядке их объявления
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() для локальных дней начала недели. См. 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
Этот экземпляр неизменяемый и не изменяется этим вызовом метода.
- Определено в:
-
adjustIntoв интерфейсеTemporalAdjuster - Параметры:
-
temporal- целевой объект для корректировки, не null - Возвращает:
- скорректированный объект, не null
- Исключения:
-
DateTimeException- если корректировка невозможна -
ArithmeticException- если происходит переполнение чисел
© 1993, 2020, 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/11/docs/api/java.base/java/time/DayOfWeek.html