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