Spec-Zone.ru › OpenJDK 24

Перечисление Month

java.lang.Object
java.lang.Enum<Month>
java.time.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

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

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

Enum.EnumDesc<E extends Enum<E>>

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

Константа перечисления Описание
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(Temporal temporal)
Настраивает указанный временной объект так, чтобы у него был этот месяц года.
int firstDayOfYear(boolean leapYear)
Возвращает день года, соответствующий первому дню этого месяца.
Month firstMonthOfQuarter()
Возвращает месяц, соответствующий первому месяцу этого квартала.
static Month from(TemporalAccessor temporal)
Получает экземпляр Month из временного объекта.
int get(TemporalField field)
Возвращает значение указанного поля из этого месяца года как int.
String getDisplayName(TextStyle style, Locale locale)
Возвращает текстовое представление, такое как 'Янв' или 'Декабрь'.
long getLong(TemporalField field)
Возвращает значение указанного поля из этого месяца года как long.
int getValue()
Получает int значение месяца года.
boolean isSupported(TemporalField field)
Проверяет, поддерживается ли указанное поле.
int length(boolean leapYear)
Возвращает длительность этого месяца в днях.
int maxLength()
Возвращает максимальную длительность этого месяца в днях.
int minLength()
Возвращает минимальную длительность этого месяца в днях.
Month minus(long months)
Возвращает месяц года, который находится на указанное количество месяцев до текущего.
static Month of(int month)
Получает экземпляр Month из int значения.
Month plus(long months)
Возвращает месяц года, который находится на указанное количество месяцев после текущего.
<R> R query(TemporalQuery<R> query)
Запрашивает этот месяц года с использованием указанного запроса.
ValueRange range(TemporalField field)
Возвращает диапазон допустимых значений для указанного поля.
static Month valueOf(String name)
Возвращает константу перечисления этого класса с указанным именем.
static Month[] values()
Возвращает массив, содержащий константы этого класса перечисления в порядке их объявления.

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

clone, compareTo, describeConstable, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf

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

getClass, notify, notifyAll, wait, wait, wait

Подробности констант перечисления

JANUARY

public static final Month JANUARY
Единственный экземпляр для месяца января с 31 днем. Имеет числовое значение 1.

FEBRUARY

public static final Month FEBRUARY
Единственный экземпляр для месяца февраля с 28 днями, или 29 в високосном году. Имеет числовое значение 2.

MARCH

public static final Month MARCH
Единственный экземпляр для месяца марта с 31 днем. Имеет числовое значение 3.

APRIL

public static final Month APRIL
Единственный экземпляр для месяца апреля с 30 днями. Имеет числовое значение 4.

MAY

public static final Month MAY
Единственный экземпляр для месяца мая с 31 днем. Имеет числовое значение 5.

JUNE

public static final Month JUNE
Единственный экземпляр для месяца июня с 30 днями. Имеет числовое значение 6.

JULY

public static final Month JULY
Единственный экземпляр для месяца июля с 31 днем. Имеет числовое значение 7.

AUGUST

public static final Month AUGUST
Единственный экземпляр для месяца августа с 31 днем. Имеет числовое значение 8.

SEPTEMBER

public static final Month SEPTEMBER
Единственный экземпляр для месяца сентября с 30 днями. Имеет числовое значение 9.

OCTOBER

public static final Month OCTOBER
Единственный экземпляр для месяца октября с 31 днем. Имеет числовое значение 10.

NOVEMBER

public static final Month NOVEMBER
Единственный экземпляр для месяца ноября с 30 днями. Имеет числовое значение 11.

DECEMBER

public static final Month DECEMBER
Единственный экземпляр для месяца декабря с 31 днем. Имеет числовое значение 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 в качестве аргумента. Возможность получения значения и то, что оно представляет, определяется полем.

Specified by:
get в интерфейсе TemporalAccessor
Parameters:
field - поле для получения, не null
Returns:
значение поля, находящееся в допустимом диапазоне значений
Throws:
DateTimeException - если значение для поля получить невозможно или значение находится вне допустимого диапазона для поля
UnsupportedTemporalTypeException - если поле не поддерживается или диапазон значений превышает int
ArithmeticException - если происходит переполнение числовых значений

getLong

public long getLong(TemporalField field)
Получает значение указанного поля из этого месяца года в качестве long.

Этот запрос получает значение указанного поля для данного месяца. Если невозможно вернуть значение, потому что поле не поддерживается или по какой-либо другой причине, выбрасывается исключение.

Если поле является MONTH_OF_YEAR, то будет возвращено значение месяца года от 1 до 12. Все остальные ChronoField экземпляры будут выбрасывать UnsupportedTemporalTypeException.

Если поле не является ChronoField, то результат этого метода получается путем вызова TemporalField.getFrom(TemporalAccessor), передав this в качестве аргумента. Возможность получения значения и то, что оно представляет, определяется полем.

Specified by:
getLong в интерфейсе TemporalAccessor
Parameters:
field - поле для получения, не null
Returns:
значение для поля
Throws:
DateTimeException - если значение для поля получить невозможно
UnsupportedTemporalTypeException - если поле не поддерживается
ArithmeticException - если происходит переполнение числовых значений

plus

public Month plus(long months)
Возвращает месяц года, который на указанное количество месяцев после текущего.

Вычисление переходит с декабря к январю в конце года. Указанный период может быть отрицательным.

Этот экземпляр неизменяем и не изменяется этим методом.

Parameters:
months - количество месяцев для добавления, положительное или отрицательное
Returns:
результирующий месяц, не null

minus

public Month minus(long months)
Возвращает месяц года, который на указанное количество месяцев до текущего.

Вычисление переходит с января к декабрю в начале года. Указанный период может быть отрицательным.

Этот экземпляр неизменяем и не изменяется этим методом.

Parameters:
months - количество месяцев для вычитания, положительное или отрицательное
Returns:
результирующий месяц, не null

length

public int length(boolean leapYear)
Получает длину этого месяца в днях.

Принимает флаг для определения, нужно ли вернуть длину для високосного года или нет.

Февраль имеет 28 дней в стандартном году и 29 дней в високосном. Апрель, июнь, сентябрь и ноябрь имеют 30 дней. Все остальные месяцы имеют 31 день.

Parameters:
leapYear - true, если длина требуется для високосного года
Returns:
длина этого месяца в днях, от 28 до 31

minLength

public int minLength()
Получает минимальную длину этого месяца в днях.

Февраль имеет минимальную длину 28 дней. Апрель, июнь, сентябрь и ноябрь имеют 30 дней. Все остальные месяцы имеют 31 день.

Returns:
минимальная длина этого месяца в днях, от 28 до 31

maxLength

public int maxLength()
Получает максимальную длину этого месяца в днях.

Февраль имеет максимальную длину 29 дней. Апрель, июнь, сентябрь и ноябрь имеют 30 дней. Все остальные месяцы имеют 31 день.

Returns:
максимальная длина этого месяца в днях, от 29 до 31

firstDayOfYear

public int firstDayOfYear(boolean leapYear)
Получает день года, соответствующий первому дню этого месяца.

Возвращает день года, с которого начинается этот месяц, используя флаг високосного года для определения длины февраля.

Parameters:
leapYear - true, если длина требуется для високосного года
Returns:
день года, соответствующий первому дню этого месяца, от 1 до 336

firstMonthOfQuarter

public Month firstMonthOfQuarter()
Получает месяц, соответствующий первому месяцу этого квартала.

Год можно разделить на четыре квартала. Этот метод возвращает первый месяц квартала для базового месяца. Январь, февраль и март возвращают январь. Апрель, май и июнь возвращают апрель. Июль, август и сентябрь возвращают июль. Октябрь, ноябрь и декабрь возвращают октябрь.

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.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
 

Этот экземпляр неизменяем и не изменяется этим методом.

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/Month.html

Spec-Zone.ru

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