Spec-Zone.ru › OpenJDK 21

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

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

Январь

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

Февраль

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

Март

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

Апрель

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

Май

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

Июнь

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

Июль

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

Август

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

Сентябрь

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

Октябрь

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

Ноябрь

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

Декабрь

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 в качестве аргумента. Возможность получения значения, и что оно представляет, определяется полем.

Указано:
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 в качестве аргумента. Возможность получения значения и то, что оно представляет, определяется полем.

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

Spec-Zone.ru

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