Spec-Zone.ru › OpenJDK 21

Перечисление 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

Краткое описание вложенных классов

Вложенные классы/интерфейсы, объявленные в классе java.lang.Enum

Enum.EnumDesc<E extends Enum<E>>

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

Константа перечисления Описание
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()
Возвращает массив, содержащий константы этого класса перечисления в порядке их объявления.

Методы, объявленные в классе java.lang.Enum

clone, compareTo, describeConstable, 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()
Возвращает массив, содержащий константы этого класса перечисления в порядке их объявления.
Возвращает:
массив, содержащий константы этого класса перечисления в порядке их объявления

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, 2023, 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/21/docs/api/java.base/java/time/DayOfWeek.html

Spec-Zone.ru

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