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

Все реализуемые интерфейсы:
Serializable, Comparable<Month>, 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

Постоянные значения перечисления

Постоянное значение перечисления Описание
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, 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()

Возвращает массив, содержащий константы этого перечисляемого типа в порядке их объявления. Этот метод может использоваться для итерации по константам следующим образом:

for (Month c : Month.values())
    System.out.println(c);

Возвращает:
массив, содержащий константы этого перечисляемого типа в порядке их объявления

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, 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.
https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/time/Month.html

Spec-Zone .ru
спецификации, руководства, описания, API