Перечисление Month
- Все реализуемые интерфейсы:
Serializable, Comparable<Month>, Constable, TemporalAccessor, TemporalAdjuster
public enum Month extends Enum<Month> implements TemporalAccessor, TemporalAdjuster
Month — это перечисление, представляющее 12 месяцев года: январь, февраль, март, апрель, май, июнь, июль, август, сентябрь, октябрь, ноябрь и декабрь.
Помимо текстового имени константы перечисления, каждому месяцу года соответствует значение int. Значение int соответствует общепринятому порядку и стандарту ISO-8601: от 1 (январь) до 12 (декабрь). Для большей ясности кода рекомендуется использовать константы перечисления, а не значение int.
Не используйте ordinal() для получения числового представления Month. Вместо этого используйте getValue().
Это перечисление представляет собой распространённое понятие, используемое во многих календарных системах. Поэтому его можно использовать в любой календарной системе, в которой понятие месяца года определено точно так же, как в календарной системе ISO-8601.
- Требования к реализации:
- Это неизменяемое и потокобезопасное перечисление.
- Начиная с версии:
- 1.8
Краткое описание вложенных классов
Вложенные классы и интерфейсы, объявленные в классе Enum
Enum.EnumDesc<E> | Модификатор и тип | Класс | Описание |
|---|---|---|
static final class |
Enum.EnumDesc<E extends Enum<E>> |
Номинальный дескриптор константы enum. |
Краткое описание констант перечисления
| Константа перечисления | Описание |
|---|---|
APRIL |
Единственный экземпляр месяца апреля, в котором 30 дней. |
AUGUST |
Единственный экземпляр месяца августа, в котором 31 день. |
DECEMBER |
Единственный экземпляр месяца декабря, в котором 31 день. |
FEBRUARY |
Единственный экземпляр месяца февраля, в котором 28 дней или 29 дней в високосный год. |
JANUARY |
Единственный экземпляр месяца января, в котором 31 день. |
JULY |
Единственный экземпляр месяца июля, в котором 31 день. |
JUNE |
Единственный экземпляр месяца июня, в котором 30 дней. |
MARCH |
Единственный экземпляр месяца марта, в котором 31 день. |
MAY |
Единственный экземпляр месяца мая, в котором 31 день. |
NOVEMBER |
Единственный экземпляр месяца ноября, в котором 30 дней. |
OCTOBER |
Единственный экземпляр месяца октября, в котором 31 день. |
SEPTEMBER |
Единственный экземпляр месяца сентября, в котором 30 дней. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
Temporal |
adjustInto |
Изменяет указанный временной объект, устанавливая для него этот месяц года. |
int |
firstDayOfYear |
Возвращает день года, соответствующий первому дню этого месяца. |
Month |
firstMonthOfQuarter() |
Возвращает месяц, соответствующий первому месяцу этого квартала. |
static Month |
from |
Создаёт экземпляр Month на основе временного объекта. |
int |
get |
Возвращает значение указанного поля для этого месяца года в виде int. |
String |
getDisplayName |
Возвращает текстовое представление, например «янв.» или «декабрь». |
long |
getLong |
Возвращает значение указанного поля для этого месяца года в виде long. |
int |
getValue() |
Возвращает значение int для месяца года. |
boolean |
isSupported |
Проверяет, поддерживается ли указанное поле. |
int |
length |
Возвращает количество дней в этом месяце. |
int |
maxLength() |
Возвращает максимальное количество дней в этом месяце. |
int |
minLength() |
Возвращает минимальное количество дней в этом месяце. |
Month |
minus |
Возвращает месяц года, находящийся на указанное количество месяцев раньше этого. |
static Month |
of |
Создаёт экземпляр Month на основе значения int. |
Month |
plus |
Возвращает месяц года, находящийся на указанное количество месяцев позже этого. |
<R> R |
query |
Выполняет запрос к этому месяцу года с помощью указанного запроса. |
ValueRange |
range |
Возвращает диапазон допустимых значений для указанного поля. |
static Month |
valueOf |
Возвращает константу перечисления этого класса с указанным именем. |
static Month[] |
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() |
Приостанавливает текущий поток до его пробуждения, обычно в результате вызова notify или interrupt. |
final void |
wait |
Приостанавливает текущий поток до его пробуждения, обычно в результате вызова notify или interrupt, либо до истечения заданного промежутка реального времени. |
final void |
wait |
Приостанавливает текущий поток до его пробуждения, обычно в результате вызова notify или interrupt, либо до истечения заданного промежутка реального времени. |
Подробное описание констант перечисления
JANUARY
public static final Month JANUARY
1.FEBRUARY
public static final Month FEBRUARY
2.MARCH
public static final Month MARCH
3.APRIL
public static final Month APRIL
4.MAY
public static final Month MAY
5.JUNE
public static final Month JUNE
6.JULY
public static final Month JULY
7.AUGUST
public static final Month AUGUST
8.SEPTEMBER
public static final Month SEPTEMBER
9.OCTOBER
public static final Month OCTOBER
10.NOVEMBER
public static final Month NOVEMBER
11.DECEMBER
public static final Month DECEMBER
12.Подробное описание методов
values
public static Month[] values()
- Возвращает:
- массив, содержащий константы этого класса перечисления в том порядке, в котором они объявлены
valueOf
public static Month valueOf(String name)
- Параметры:
-
name— имя константы перечисления, которую нужно вернуть. - Возвращает:
- константу перечисления с указанным именем
- Вызывает исключение:
-
IllegalArgumentException— если в этом классе перечисления нет константы с указанным именем -
NullPointerException— если аргумент равен null
of
public static Month of(int month)
Month на основе значения int. Month — это перечисление, представляющее 12 месяцев года. Этот фабричный метод позволяет получить значение перечисления на основе значения int. Значение int соответствует стандарту ISO-8601: от 1 (январь) до 12 (декабрь).
- Параметры:
-
month— месяц года, который нужно представить: от 1 (январь) до 12 (декабрь) - Возвращает:
- месяц года, не null
- Вызывает исключение:
-
DateTimeException— если номер месяца недопустим
from
public static Month from(TemporalAccessor temporal)
Month из временного объекта. Получает месяц на основе указанного временного объекта. TemporalAccessor представляет произвольный набор сведений о дате и времени, который этот фабричный метод преобразует в экземпляр Month.
При преобразовании извлекается поле MONTH_OF_YEAR. Извлечение допускается, только если временной объект использует календарную систему ISO или может быть преобразован в LocalDate.
Сигнатура этого метода соответствует сигнатуре функционального интерфейса TemporalQuery, что позволяет использовать его в качестве запроса посредством ссылки на метод, Month::from.
- Параметры:
-
temporal— временной объект для преобразования, не null - Возвращает:
- месяц года, не null
- Вызывает исключение:
-
DateTimeException— если преобразование вMonthневозможно
getValue
public int getValue()
int. Значения нумеруются согласно стандарту ISO-8601: от 1 (январь) до 12 (декабрь).
- Возвращает:
- месяц года: от 1 (январь) до 12 (декабрь)
getDisplayName
public String getDisplayName(TextStyle style, Locale locale)
Возвращает текстовое название, используемое для обозначения месяца года и подходящее для отображения пользователю. Параметры определяют стиль возвращаемого текста и локаль.
Если текстовое соответствие не найдено, возвращается numeric value.
- Параметры:
-
style— требуемая длина текста, не null -
locale— используемая локаль, не null - Возвращает:
- текстовое значение месяца года, не null
isSupported
public boolean isSupported(TemporalField field)
Проверяет, можно ли запросить у этого месяца года значение указанного поля. Если результат — false, вызовы методов range и get приведут к исключению.
Если поле — MONTH_OF_YEAR, этот метод возвращает true. Для всех остальных экземпляров ChronoField возвращается false.
Если поле не является ChronoField, результат этого метода получается путем вызова TemporalField.isSupportedBy(TemporalAccessor) с аргументом this. Поддержку поля определяет само поле.
- Определено в:
-
isSupportedв интерфейсеTemporalAccessor - Параметры:
-
field— проверяемое поле; null возвращает false - Возвращает:
- true, если это поле поддерживается для данного месяца года; в противном случае false
range
public ValueRange range(TemporalField field)
Объект диапазона задает минимальное и максимальное допустимые значения поля. Этот месяц используется для повышения точности возвращаемого диапазона. Если диапазон невозможно вернуть, поскольку поле не поддерживается или по иной причине, выбрасывается исключение.
Если поле — MONTH_OF_YEAR, будет возвращен диапазон месяцев года от 1 до 12. Для всех остальных экземпляров ChronoField выбрасывается UnsupportedTemporalTypeException.
Если поле не является ChronoField, результат этого метода получается путем вызова TemporalField.rangeRefinedBy(TemporalAccessor) с аргументом this. Возможность получить диапазон определяет само поле.
- Определено в:
-
rangeв интерфейсеTemporalAccessor - Параметры:
-
field— поле, для которого запрашивается диапазон, не null - Возвращает:
- диапазон допустимых значений поля, не null
- Вызывает исключение:
-
DateTimeException— если диапазон значений поля получить невозможно -
UnsupportedTemporalTypeException— если поле не поддерживается
get
public int get(TemporalField field)
int. Запрашивает у этого месяца значение указанного поля. Возвращаемое значение всегда будет находиться в допустимом диапазоне значений этого поля. Если значение невозможно вернуть, поскольку поле не поддерживается или по иной причине, выбрасывается исключение.
Если поле — MONTH_OF_YEAR, будет возвращено значение месяца года от 1 до 12. Для всех остальных экземпляров ChronoField выбрасывается UnsupportedTemporalTypeException.
Если поле не является ChronoField, результат этого метода получается путем вызова TemporalField.getFrom(TemporalAccessor) с аргументом this. Возможность получить значение и его смысл определяет само поле.
- Определено в:
-
getв интерфейсеTemporalAccessor - Параметры:
-
field— поле, значение которого нужно получить, не null - Возвращает:
- значение поля в пределах допустимого диапазона значений
- Вызывает исключение:
-
DateTimeException— если значение поля получить невозможно или оно находится вне допустимого диапазона значений поля -
UnsupportedTemporalTypeException— если поле не поддерживается или диапазон значений превышаетint -
ArithmeticException— при числовом переполнении
getLong
public long getLong(TemporalField field)
long. Запрашивает у этого месяца значение указанного поля. Если значение невозможно вернуть, поскольку поле не поддерживается или по иной причине, выбрасывается исключение.
Если поле — MONTH_OF_YEAR, будет возвращено значение месяца года от 1 до 12. Для всех остальных экземпляров ChronoField выбрасывается UnsupportedTemporalTypeException.
Если поле не является ChronoField, результат этого метода получается путем вызова TemporalField.getFrom(TemporalAccessor) с аргументом this. Возможность получить значение и его смысл определяет само поле.
- Определено в:
-
getLongв интерфейсеTemporalAccessor - Параметры:
-
field— поле, значение которого нужно получить, не null - Возвращает:
- значение поля
- Вызывает исключение:
-
DateTimeException— если значение поля получить невозможно -
UnsupportedTemporalTypeException— если поле не поддерживается -
ArithmeticException— при числовом переполнении
plus
public Month plus(long months)
При вычислении переход через конец года выполняется циклически: от декабря к январю. Указанный период может быть отрицательным.
Этот экземпляр неизменяем; вызов данного метода не изменяет его.
- Параметры:
-
months— количество месяцев для прибавления, положительное или отрицательное - Возвращает:
- результирующий месяц, не null
minus
public Month minus(long months)
При вычислении переход через начало года выполняется циклически: от января к декабрю. Указанный период может быть отрицательным.
Этот экземпляр неизменяем; вызов данного метода не изменяет его.
- Параметры:
-
months— количество месяцев для вычитания, положительное или отрицательное - Возвращает:
- результирующий месяц, не null
length
public int length(boolean leapYear)
Флаг определяет, возвращать ли количество дней для високосного года.
В феврале 28 дней в обычном году и 29 дней в високосном. В апреле, июне, сентябре и ноябре по 30 дней. Во всех остальных месяцах по 31 дню.
- Параметры:
-
leapYear— true, если требуется количество дней для високосного года - Возвращает:
- количество дней в этом месяце: от 28 до 31
minLength
public int minLength()
В феврале минимум 28 дней. В апреле, июне, сентябре и ноябре по 30 дней. Во всех остальных месяцах по 31 дню.
- Возвращает:
- минимальное количество дней в этом месяце: от 28 до 31
maxLength
public int maxLength()
В феврале максимум 29 дней. В апреле, июне, сентябре и ноябре по 30 дней. Во всех остальных месяцах по 31 дню.
- Возвращает:
- максимальное количество дней в этом месяце: от 29 до 31
firstDayOfYear
public int firstDayOfYear(boolean leapYear)
Возвращает порядковый день года, с которого начинается этот месяц; флаг високосного года определяет количество дней в феврале.
- Параметры:
-
leapYear— true, если требуется количество дней для високосного года - Возвращает:
- порядковый день года, соответствующий первому дню этого месяца: от 1 до 336
firstMonthOfQuarter
public Month firstMonthOfQuarter()
Год можно разделить на четыре квартала. Этот метод возвращает первый месяц квартала, к которому относится исходный месяц. Для января, февраля и марта возвращается январь. Для апреля, мая и июня возвращается апрель. Для июля, августа и сентября возвращается июль. Для октября, ноября и декабря возвращается октябрь.
- Возвращает:
- первый месяц квартала, к которому относится этот месяц, не 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.MONTH_OF_YEAR в качестве поля. Если указанный временной объект не использует календарную систему ISO, выбрасывается DateTimeException.
В большинстве случаев яснее изменить порядок вызова и использовать Temporal.with(TemporalAdjuster):
// these two lines are equivalent, but the second approach is recommended temporal = thisMonth.adjustInto(temporal); temporal = temporal.with(thisMonth);
Например, если дана дата в мае, будут выведены следующие значения:
dateInMay.with(JANUARY); // four months earlier dateInMay.with(APRIL); // one months earlier dateInMay.with(MAY); // same date dateInMay.with(JUNE); // one month later dateInMay.with(DECEMBER); // seven months 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.